2013-05-20 6 views
5

से चल रहे सी चर के लिए मूल्यों को पढ़ना मैंने जावा कोड से सी कोड सफलतापूर्वक निष्पादित किया है, लेकिन मेरे पास एक प्रश्न है, मैं सी चर में मान पढ़ना चाहता हूं जहां सी प्रोग्राम जावा कोड से चल रहा है । उसको कैसे करे?जावा कोड

मेरा सी कोड इस प्रकार होगा।

int main() 
{ 
    int op; 
    printf("\n Hello World... "); 
    printf("\n Enter any value : "); 
    scanf("%d",&op); 
    printf("\n The value entered is : %d",op); 
    getch(); 
    return 0; 
} 

और मेरा जावा कोड निम्नानुसार है।

import java.io.*; 
public class Test { 
    public static void main(String args[]) { 
     try { 
      String s = " "; 
      Process processCompile = Runtime.getRuntime().exec("e:/Sample.exe"); 

      BufferedReader stdInput = new BufferedReader(new 
      InputStreamReader(processCompile .getInputStream())); 
      // read the output from the command 
      System.out.println("EXE OUTPUT"); 
      while ((s = stdInput.readLine()) != null) { 
       System.out.println(s); 
      } 
     } catch(Exception ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

तो, जावा कोड में मुझे क्या संशोधन करना है, ताकि मैं सी चर के मूल्यों को इनपुट कर सकूं। अग्रिम

उत्तर

4

में धन्यवाद, आपको प्रोसेसबिल्डर नहीं, जेएनआई का उपयोग करने की आवश्यकता है। या आपको उन मानों को फ़ाइल में लिखना होगा और सी से फ़ाइल को पढ़ना होगा या आपको उन मानों को प्रक्रिया इनपुट स्ट्रीम में लिखना होगा। जो आपको भ्रमित करने के लिए 'आउटपुटस्ट्रीम' कहा जाता है।

कुछ की तरह:

OutputStreamWriter osw = new OutputStreamWriter(process.getOutputStream(), "utf-8"); 
osw.append(String.format("value1=%d value2=%d", value1, value2)); 
osw.flush(); 

और फिर सी में stdin से कि स्ट्रिंग पढ़ें।

+0

क्या आप मुझे इसके लिए एक छद्म कोड दे सकते हैं? – Sankar

+1

नहीं, जेएनआई के लिए यह एक बड़ा विषय है। उस विकल्प के लिए Google 'जेएनआई ट्यूटोरियल'। एक फ़ाइल के लिए, आपको एक ट्यूटोरियल की आवश्यकता नहीं है। – bmargulies