C/C++:读取文件

C/C++:读取文件
#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; 
}

你可能感兴趣的:(C/C++:读取文件)