#include <iostream>
#include <cmath>
#include <stdio.h>
using namespace std;
int main(){
FILE* file = NULL;
file = fopen("main.cpp", "r");
if (NULL == file) {
cerr << "Cann't open the file." << endl;
return 1;
}
char** line = NULL;
line = new char*[60];
for (int i = 0; i < 60; i++) {
line[i] = new char[80];
line[i][0] = '\0'; // 關鍵就在這里,如果不把每個串的第一個字符設為0,則在輸出時,如果源文件的最后一行是空行,
// 則最后一行是兩個字符的亂碼(x ?=),這有可能是跟讀到文件末時的文件結束標志有關。
}
int row = 0;
while (!feof(file)) {
fgets(line[row++], 80, file); // 每讀取一行后,記錄讀取的行數加一。
}
fclose(file);
for (int i = 0; i < row; i++) {
cout << line[i];
}
return 0;
}