用c++将txt中多行的字母,标点,数字添加到数组中

#include<iostream>
#include<fstream>
using namespace std;
int main()
{ int i,j;
ifstream f1;
f1.open("d:\\123.txt");//假设txt中有十行文字内容
char a[10][1000];//建立二维数组,准备将之存储到数组中,每个一维数组负责txt中的一行信息,每个文字信息放入一个数组元素之中,还没有编好计算行字符串长度的代码,所以先用一个比较大的1000吧。
//////////////////////////////////////////////////////////////////////////////////////
//中间不太清楚该怎么把txt的文字信息导入到数组中。。。
//可以帮写一下吗?
//////////////////////////////////////////////////////////////////////////////////////
f1.close();
for (i = 0; i <= 10; i++)
{for(j=0;j<=1000;j++)
cout << a[i][j] << endl;
}
return;
}
拜托了,挺急的。

char a[10][1000];
int i = 0;
while(! in.eof())
{
in.getline(a[i++], 1000);
}
in.close();

中文你的输出会有问题,每行超界直接崩溃,难道用vector<string>存储会死?追问

用vector怎么编啊。。。不怎么会

追答ifstream in("./data");
vector<string> file;
string tmp;
char delimiter = '\n';
while(in.peek() != EOF)
{
    getline(in, tmp, delimiter);
    file.push_back(tmp);
}
for(vector<string>::iterator i = file.begin(); i != file.end(); ++ i)
{
    cout << *i << endl;
}

这样可以解决容量限制(文件大过分配给编译器的内存当我没说)和超界的问题

c++是没办法解决中文问题的,一想到编码和字符集的问题就蛋疼,用vs或者qt可以解决一部分中文问题

温馨提示:答案为网友推荐,仅供参考
相似回答