में पढ़ने() और fgets() के बीच अंतर मैं एक stdin स्ट्रीम से पढ़ना चाहता हूँ। Stdin स्ट्रीम से पढ़ने के लिए पढ़ने() या fgets() का उपयोग करने में कोई अंतर है।सी
मैं कोड के निम्नलिखित दो टुकड़ों को fgets और पढ़ने के साथ जोड़ रहा हूँ। fgets के साथ मैं सी प्रोग्राम से आसानी से लिखने और पढ़ने के लिए एक जावा प्रोग्राम का उपयोग कर सकता हूं। मेरे जावा प्रोग्राम को पढ़ने और लिखने के साथ सी प्रोग्राम से आउटपुट के लिए इंतजार कर रहा है जो नहीं आता है।
मैं बस इसे एक पंक्ति में पढ़ रहा हूं और इसे ए में जोड़ रहा हूं।
जावा प्रोग्राम निम्न प्रोग्राम से बात करने में सक्षम है जो fgets और puts के साथ काम करता है।
#include <stdio.h>
#include <string.h>
#define SIZE 200000
main()
{
int rc;
int df;
int i;
char buf[SIZE];
for(i=0;i<=120000;i++) {
memset(buf,'\0',SIZE);
if(!fgets(buf,SIZE-1,stdin))
continue;
strcat(buf,"A_A_A_A_A_A_A");
puts(buf);
}
}
लेकिन पढ़ने के साथ नहीं() और लिखने()
main()
{
int rc;
int df;
int i;
char buf[32768];
rc = fcntl(fileno(stdin), F_SETFL, O_NONBLOCK);
//rc = fcntl(fileno(stdout), F_SETFL, O_NONBLOCK);
FILE *fp;
for (;;)
{
int rc=-1;
memset(buf,'\0',32768);
//rc = fread(buf,5, 1, stdin);
rc = read(fileno(stdin),buf,32768);
if (rc > 0)
{
strcat(buf,"B_B_B_B_B_B_B_B_B");
write(fileno(stdout),buf,strlen(buf));
}
}
}
कुछ एक कारण बता सकते हैं। मैं अभी भी यह मुश्किल बाहर
@DarkDust वह केवल 7 सवाल मिला है, यह इतना बुरा :-) – cnicutar
@cnicutar नहीं है: यह देखते हुए उसके सवालों के दो आधे साल पुराने हैं और अन्य मार्च से भी कर रहे हैं कि या april यह * बुरा है। – DarkDust
हे खेद है कि मुझे जवाब स्वीकार करने के लिए एक तंत्र के बारे में पता नहीं था। मैं करूँगा – ssD