2015-10-06 21 views

cevap

16

I aynı problem vardı ve CLION henüz standart girişler işleyen değil gibi görünüyor.

Programımı çalıştırmadan önce giriş akışını değiştirerek bu soruna bir çözüm buldum.

std::ifstream in("ABSOLUTE_PATH_TO_YOUR_FILE"); 
std::cin.rdbuf(in.rdbuf()); 

Sonra istediğiniz zaman bu dere changement geçiş yapmak için bir yol bulabiliriz: Girilecek size ana yazabilirsiniz senin Stdin içinde bir dosya akışı isterseniz Örnek olarak

. Uygulama için, uygulamanın geçerli olandan farklı bir dizinden çalıştırıldığından mutlak yol sağlamanız gerekeceğini unutmayın.

Umarım bu, clionun gerçek bir çözüm sağlamasına yardımcı olabilir.

freopen("myOutput.txt","w",stdout);

:

+0

Eğer bir dosya ile yapmak istemiyorsanız, 'stringstream'leri olduğunu unutmayın. – smac89

5

varsayarsak senin girdi dosyası size çıkışı ile aynı şeyi istiyorsanız yeniden/freopen

freopen("myData.txt","r",stdin);

kullanılarak stdin akışını yeniden açabilirsiniz, myData.txt olduğunu Bu std :: cin, printf, vb için çalışacak ...

Bu konu hakkında daha fazla bilgi bulabilirsiniz: Bu arada http://www.cplusplus.com/reference/cstdio/freopen/


, zaten bunun için bir özellik isteği vardır. İlgilenirseniz, o zaman oraya öncelik verebilirsiniz: https://youtrack.jetbrains.com/issue/CPP-3153

0

Benim için CLion, 'cmake-build-debug' adlı bir dosyada yürütülebilir dosyayı oluşturur. Pic dosya yapmamı gözden geçir.

Executable File Relative To Text File

Sonra sadece benim terminalini açtı ve yürütülebilir içeren dizine gidip metin dosyasına boruya bu komutu kullanılır: Daha fazla şans bu soruyu soran olmalıdır

./FirstProject < ../hw1.txt 
+0

Yea kullanın, ancak bu hata ayıklama hakkında soruyor. Programın çalıştırılmasıyla aynı şey değil. – smac89

İlgili konular