2014-02-25 19 views
0

如何掃描單詞的文件,然後在C編程中的另一個文件中打印包含該單詞的行?如何掃描一個單詞的文件,然後在C編程中的另一個文件中打印包含該單詞的行?

META_FILE = fopen("vs2008.map","r"); 
fp=fopen("META_DATA_INFO","w"); 


while(fgets(line, sizeof(line), META_FILE)) 
{ 
    if (strstr(line,"0004:") != NULL) 
    { 
     puts(line,fp); // this line print on screen i want a function to write in fp file 
     } 
} 
+0

http://stackoverflow.com/questions/10902950/scan-a-file-for-a-關鍵字和打印匹配行?rq = 1 – KedarX

回答

1

變化puts(line, fp);到之一:

fputs(line, fp); // note: this does not write a newline 

或:

fprintf(fp, "%s\n", line); // this writes a newline 
+0

謝謝。這是行得通的。 –

+0

建議從'「%s \ n」'中刪除''\ n''。 'line'可能已經以'\ n'結尾,並且是多餘的。 'fputs(line,fp);''很可能_does_從字符串'line'寫一個換行符。該函數不執行特殊的過濾,不寫入換行符。 'fputs()'不會像'puts(line,fp)'那樣追加'\ n'。 – chux

+0

@chux:你,你是對的,謝謝你。 –

相關問題