我試圖讀取文件的內容到一個字符串,而不在頭兩行閱讀。讀取文件的內容轉換爲字符串,而跳過前兩行
現在我有:
char* LoadDocument(char* name) {
char* buffer = 0;
long length;
FILE* f = fopen(name, "r");
if(f) {
fseek(f, 0, SEEK_END);
length = ftell(f);
fseek(f, 0, SEEK_SET);
buffer = malloc(length);
if (buffer) {
fgets (buffer, 100, f);
}
fclose (f);
}
return buffer;
}
但我不知道如何跳過前兩行。另外,看起來我的malloc不足以保存整個文件,因爲它沒有得到整個文件。
你沒有得到完整的文件在'buffer'因爲你只讀*最多*'100'字節,直到第一個換行符(以先到爲準)。還記得'fgets'終止緩衝*爲字符串*,所以你需要分配一個額外的字符爲終結。 –