用C++如何把一个文件里的一篇英语文章以行列形式读入为一个二维字符数组?

来源:百度知道 编辑:UC知道 时间:2024/04/29 02:24:16
在VC中要把d:\t.txt读入,文件内容为一篇英语文章。
以行列形式读入为一个二维字符数组content[][],空格也要保留,而且测试数组内容输出的时候没有乱码,必须是原文输出。
我尝试过fgets(),getline()等函数,但细节部分总是实现不了。

请各位高手不吝赐教,奉上50分!~
其实我是要对一个文件进行关键字搜索,所以把文件内容读取为一个二维数组是为了方便后面搜索的操作。把它输出是为了测试是否正确地把内容读取到数组里面。
二楼没有把文件内容读取为二维数组,还不符合我的要求,不过谢谢你!~
希望有朋友能帮我写写^^

#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("D:\t.txt");
char content[100][100];
char ch;
...
int i,j;
i=j=0;
while (fin.get(ch))
{
if (ch=='\n')
{
content[i][j]=0;
i++;
j=0;
}
else content[i][j++]=ch;
}
...

能不能不用数组啊!
你意思是不是要在屏幕显示 d:\t.txt 里的内容啊!
我写了一个不知合不合你的要求!!!!!

#include<stdio.h>
#include<conio.h>
#define N 100
#define M 100
void main()
{
char c,content[N][M];
int i;
FILE *p;
if((p=fopen("d:\\t.txt","r"))==NULL)
{
printf("文件读入错误或文件不存在!\n");
getch();
return;
}
c=fgetc(p);
while(c!=EOF)
{

printf("%c",c);
c=fgetc(p);
}
printf("\n\n\n");
}

能够不以二纬数组的方式保存么?直接以