के साथ एक सी प्रोग्राम से जावा में मानक आउटपुट प्राप्त करने में समस्या मुझे जावा से एक सी प्रोग्राम कॉल करने और मानक आउटपुट कैप्चर करने का प्रयास कर रहा है।getchar()
try {
ProcessBuilder pb = new ProcessBuilder("helloworld.exe");
pb.redirectErrorStream(true); // Merge std out and std err into same stream
program = pb.start(); // Start program
BufferedReader input = new BufferedReader(new InputStreamReader(program.getInputStream()));
line = input.readLine();
while (line != null) {
System.out.println(line);
line = input.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
यहां एक नमूना ग कार्यक्रम है::
int main(){
printf("Hello world\n");
}
यह ठीक काम करता है जब कार्यक्रम मैं (इस मामले में HelloWorld) को क्रियान्वित कर रहा हूँ उस में एक getchar()
नहीं है यहाँ मेरी कोड है। हालांकि, अगर मैं printf के ठीक बाद getchar()
जोड़ता हूं, तो मुझे इनपुट स्ट्रीम से कुछ भी नहीं मिलता है। कोई विचार क्यों?
धन्यवाद
थोड़ी देर के लिए सी के साथ काम नहीं किया है, लेकिन आप प्रिंट – Kyle
प्रिंट के बाद आउटपुट स्ट्रीम को फ्लश करने का प्रयास कर सकते हैं क्या आपने यह देखने के लिए अपने सी प्रोग्राम को चलाने की कोशिश की है कि यह कोई त्रुटि उत्पन्न कर रहा है या व्यवहार क्या है? –
आप ऐसे प्रोग्राम में 'getchar' क्यों जोड़ेंगे जो इनपुट की आवश्यकता नहीं है? ??? – pmg