c++怎么读取txt中的内容?

想读取txt文件里边的数据,里边的数据如下图所示,要求不能更改原来的txt内容。用一个数组来存储里边的数据。并且可以对数组里的数据进行运算,比如a[1][2]=a[1][1]+a[1][0]=2+3=5;
自己做的时候定义了一个数组char a[3][5]来存储这个。但是在使用a[i][j]=a[i][j]-'0'来试图通过ascii码将char来转换成int的时候编译器报错了。还有一个要求就是,不能用空格把txt文件里边的数隔开。
ifstream sk;
sk.open("in.txt");
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
sk>>map[i][j];

作为C++风格的文件读取方式
可以使用文件流类——fstream类
fstream类有两种子类
分别是用于读出文件的ifstream类
以及用于写入文件ofstream类
在使用是应加入引用 : #include <fstream>
注意该头文件使用std命名空间
还应该加入语句 :using namespace std;
使用的使用应该创建一个文件流对象
比如读入一个文件可以使用下列语句:
ifstream File;
char *FileName;
char DataBuffer[128];
/* 此处应设定文件名 */
File.open(FileName); //打开文件
//open函数其实有三个参数,此处后两个使用默认值了,具体函数使用请见MSDN
if(File)
{ //文件打开成功
// 此处加入对文件内容的处理
while(!File.eof())
{ //循环读入数据
File.read(DataBuffer,128);
/*对缓冲区中的读入数据进行操作*/
}
}
else
{ //文件打开失败
/*进行错误处理*/
}
File.close(); //关闭文件
与上述代码类似
将内容写入文件需要创建一个ofstream对象
可以多看看MDSN
可以参考CPP标准函数库
温馨提示:答案为网友推荐,仅供参考
相似回答