讀取超長字串時,fget 會如何處置呢?現在有一個文字檔,只有一行 1234567812345678....。使用下列程式碼執行,暫存陣列數量為 9,一次只會讀取 8 個字元,最後再補一個 0 做結束字元。

int main(int argc, char *argv[]) { FILE*fp; char buf[9]; fp = fopen(argv[1], "r"); if (fp) { while (fgets(buf, sizeof(buf), fp) != NULL) { printf("%s\n", buf); } fclose(fp); } return 0; } $$ ./a.out aaa 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678 12345678

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()