各位前辈,最近在学C++文件流,在读取一个文件时我遇到了一些问题
文件的内容是这样的:
0 9 10 3 0
7 6 2 1 1
9 3 3 1 1
13 9 3 3 0
我想把这里面的数字都放到一个数组里
我读取它的一段代码是这样的:
ifstream fp("map1.txt",ios::in);
if(!fp)
cout<<"error occours";
char temp[55];
for(int i=0;i fp>>temp[i];
//显示数组内容
for(int j=0;j<55;j++)
{
cout<if(0==j%4)
cout<}
我发现这样读出来之后,那些双数,比如第三个数10,它就分成了两个数“1”和“0”
来读取,那么本来我想temp[2]==10的,现在变成temp[2]==1,temp[3]==0了
请问各位前辈有没有什么好的方法解决这个问题,谢谢了!
ifstream fp("map1.txt",ios::in);
if(!fp)
cout<<"error occours";
char temp[55];//你这个是char型的,每次都只接收一个字符 10是两个字符,读进来肯定会分开的
for(int i=0;i fp>>temp[i];
//显示数组内容
for(int j=0;j<55;j++)
{
cout<if(0==j%4)
cout<}
建议每次读一行,然后用空格的方式把他们分开!最后可以转成int型
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。