निम्नलिखित कोड समय में एक चरित्र को एक पाठ फ़ाइल पढ़ता है और stdout में इसे प्रिंट:खोजें
#include <stdio.h>
int main()
{
char file_to_open[] = "text_file.txt", ch;
FILE *file_ptr;
if((file_ptr = fopen(file_to_open, "r")) != NULL)
{
while((ch = fgetc(file_ptr)) != EOF)
{
putchar(ch);
}
}
else
{
printf("Could not open %s\n", file_to_open);
return 1;
}
return(0);
}
लेकिन मुद्रण के बजाय stdout करने के लिए [putchar (ch)] मैं चाहता हूँ किसी अन्य टेक्स्टफाइल अर्थात् विशिष्ट स्ट्रिंग्स के लिए फ़ाइल को खोजें। strings.txt और आउटपुट मैच के साथ लाइन out.txt को
text_file.txt
:
1993 - 1999 Pentium 1997 - 1999 Pentium II 1999 - 2003 Pentium III 1998 - 2009 Xeon 2006 - 2009 Intel Core 2
strings.txt
:
Nehalem AMD Athlon Pentium
इस मामले text_file.txt
के तीन पहले लाइनों से मेल खाएंगे में। मैंने सी में फाइल ऑपरेशंस पर कुछ शोध किया है, और ऐसा लगता है कि मैं उस समय एक चरित्र को fgetc
[जैसे मैं अपने कोड में करता हूं], fgets
के साथ एक पंक्ति और fread
के साथ एक ब्लॉक, लेकिन मुझे लगता है कि कोई शब्द नहीं मेरी स्थिति में सही होगा?
कारण है कि आप इस कार्यक्रम के लिए लिख रहे हैं ?! ऐसा करने के लिए grep/awk/sed का प्रयोग करें। –
नहीं, टिम। टैग खोज के लिए हैं। कोई भी इसके लिए खोज नहीं करेगा। – GManNickG
हां, मैं मानक यूनिक्स उपकरण के साथ जानता हूं, मैं सेकंड के मामले में इसे हल कर सकता हूं, लेकिन यह सी फाइल आईओ की गहरी समझ प्राप्त करना है। –