逛奔的蜗牛

我不聪明,但我会很努力

   ::  :: 新随笔 ::  ::  :: 管理 ::
#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; 
}
posted on 2010-12-17 17:54 逛奔的蜗牛 阅读(365) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理