2012-03-31 89 views
1

我正在用C++編寫一個程序,用於打開,分析和格式化文本文件。我想知道是否有辦法打開文本文件,檢查並查看文件末尾是否有新行,如果不存在,請添加一行。C++在文件末尾添加新行如果On不存在?

我對C++非常陌生,我不知道如何解決這個問題。有人可以提供演示嗎?

謝謝你的時間!

回答

1

要建立在paulsm4的回答:

//Open file in append-binary mode. 
FILE *hFile = fopen("C:\\Test.txt", "ab"); 
if(hFile == NULL) 
{ 
    printf("File not found.\n"); 
    return 0; 
} 

//Seek one character from the end of the file. 
fseek(hFile, -1, SEEK_END); 

//Read in a single character; 
char cLastChar = fgetc(hFile); 

if(cLastChar != '\n') 
{ 
    //Write the line-feed. 
    fwrite("\n", sizeof(char), 1, hFile); 
} 

//Close the file handle. 
fclose(hFile); 
+1

完美!謝謝!!! – 2012-03-31 03:34:00

3
  1. fopen()函數文件

  2. FSEEK()到文件大小 - 1

  3. 如果字符不是 「\ n」 個,然後追加一個

+0

優秀!爲了清楚起見,你能否以我可以遵循的例子來格式化? – 2012-03-31 02:53:44

+0

它是功課,還是不是? – chris 2012-03-31 02:56:51

+0

大型家庭作業的一小部分。 – 2012-03-31 02:57:55