То, что я пытаюсь сделать, это в основном:CLion стандартный ввод при отладке
./myProgram < myData.txt
В то время как я отладки с CLion IDE. Я просто не могу найти способ сделать это.
similar вопрос - но конкретного продукта для МСВС
То, что я пытаюсь сделать, это в основном:CLion стандартный ввод при отладке
./myProgram < myData.txt
В то время как я отладки с CLion IDE. Я просто не могу найти способ сделать это.
similar вопрос - но конкретного продукта для МСВС
У меня была такая же проблема, и кажется, что CLion не обрабатывает стандартные входы еще.
Я столкнулся с этой проблемой, изменив входной поток перед запуском моей программы.
В качестве примера, если вы хотите, чтобы ввести поток файла внутри вашего стандартного входа вы можете написать в вашем главном:
std::ifstream in("ABSOLUTE_PATH_TO_YOUR_FILE");
std::cin.rdbuf(in.rdbuf());
Тогда вы можете найти способ, чтобы переключить этот поток changement, когда вы хотите. Обратите внимание, что для файлов вам необходимо предоставить абсолютный путь, так как приложение запускается из другого каталога, кроме текущего.
Надеюсь, это поможет, пока клион не обеспечит реальное решение.
Если вы не хотите делать это с файлом, помните, что есть 'stringstream', который вы можете используйте – smac89
Предполагая, что ваш входной файл myData.txt
, вы можете возобновить/повторное использование stdin
потока с использованием freopen
freopen("myData.txt","r",stdin);
, если вы хотите сделать то же самое с выходом:
freopen("myOutput.txt","w",stdout);
это будет работать для std :: cin, printf и т. д.
Вы можете найти более подробную информацию об этом здесь: http://www.cplusplus.com/reference/cstdio/freopen/
Кстати, уже есть запрос функции для этого. Если вы заинтересованы, вы можете проголосовать здесь, чтобы получить приоритет: https://youtrack.jetbrains.com/issue/CPP-3153
Для меня CLION создает исполняемый файл в файле ccmake-build-debug. Посмотрите мою файловую структуру на рис.
Тогда, я просто открыл свой терминал и пошел в каталог, содержащий исполняемый файл и использовать эту команду для трубы в текстовом файле:
./FirstProject < ../hw1.txt
Да, но это спрашивает об отладке. Это не то же самое, что запуск программы – smac89
Вы должны иметь больше удачи, задавая этот вопрос в соответствующем dev's [forum] (https://devnet.jetbrains.com/community/clion?view=discussions) – Dialecticus