2015-10-06 12 views
14

मुझे क्या करना कोशिश कर रहा हूँ डिबगिंग मूल रूप से है:Clion मानक इनपुट जबकि

./myProgram < myData.txt

मैं Clion IDE के साथ डिबगिंग कर रहा हूँ है। मुझे ऐसा करने का विकल्प नहीं मिल रहा है।

एक similar सवाल - लेकिन उत्पाद-विशिष्ट MSVS

+0

आप अधिक भाग्य इस सवाल पूछ होना चाहिए उचित देव के [फोरम] में (https://devnet.jetbrains.com/community/clion?view=discussions) – Dialecticus

उत्तर

16

को मैं एक ही समस्या थी और यह कि Clion अभी तक मानक आदानों से निपटने नहीं है लगता है।

मुझे अपने प्रोग्राम को चलाने से पहले इनपुट स्ट्रीम को बदलकर इस समस्या को हल किया गया।

एक उदाहरण के रूप में अगर आप इनपुट के लिए एक फ़ाइल धारा अपने stdin के अंदर आप अपने मुख्य में लिख सकते हैं हैं:

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

तो फिर तुम इस धारा changement टॉगल करने के लिए जब आप चाहते हैं एक तरह से पा सकते हैं। ध्यान दें कि फ़ाइलों के लिए आपको पूर्ण पथ प्रदान करने की आवश्यकता होगी क्योंकि आवेदन वर्तमान की तुलना में किसी भिन्न निर्देशिका से चलाया जाता है।

मुझे उम्मीद है कि इससे मदद मिल सकती है जब तक कि क्लियन वास्तविक समाधान प्रदान न करे।

+0

यदि आप इसे फ़ाइल के साथ नहीं करना चाहते हैं, तो याद रखें कि 'स्ट्रिंगस्ट्रीम' है जिसे आप कर सकते हैं – smac89

5

मान लिया जाये कि अपने इनपुट फ़ाइल myData.txt है, तो आप फिर से खोलना कर सकते हैं/पुन: उपयोग freopen

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

का उपयोग कर stdin धारा अगर आप अपने उत्पादन के साथ भी ऐसा ही करना चाहते हैं:

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

यह std :: cin, printf, आदि के लिए काम करेगा ...

आप इस बारे में अधिक जानकारी पा सकते हैं: http://www.cplusplus.com/reference/cstdio/freopen/


वैसे, वहाँ पहले से ही इस के लिए एक सुविधा का अनुरोध है। यदि आप रुचि रखते हैं, तो आप यहां मतदान कर सकते हैं ताकि इसे प्राथमिकता दी जा सके: https://youtrack.jetbrains.com/issue/CPP-3153

0

मेरे लिए, सीएलओएन 'सेमेक-बिल्ड-डीबग' नामक फ़ाइल में निष्पादन योग्य बनाता है। तस्वीर में मेरी फाइल संरचना देखें।

Executable File Relative To Text File

फिर, मैं बस अपना टर्मिनल खोल दिया और निष्पादन योग्य युक्त निर्देशिका के पास गया और पाठ फ़ाइल में पाइप को यह आदेश प्रयोग किया है:

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

हाँ का उपयोग करें, लेकिन यह डिबगिंग के बारे में पूछ रहा है। यह कार्यक्रम चलाने के समान नहीं है – smac89

संबंधित मुद्दे