C++ file>> >> 在visual studio2010 中是否可以用file>>x>>y.来把file.txt中的第一个数赋给x,第二个数赋

y。如果可以,我机器上为啥报错。如果不可以 该如何做?这样的话 第二行 第三行的是会一次读取还是要自己输入换行?多谢 急用 分不多 还望帮忙

当然可以这样读取,这是一个运行时错误,可能是你的程序要读取的文件有问题,请检查一下,或者写出完整的程序。追问

ifstream file(filename,ios::in);
int i;
if(file.is_open())
return 1;
for(i=1;i>a[i]>>b[i]
else
return 1;
这样就不行啊 读不出来。提示为:CXX0030:错误:无法计算表达式的值

追答

你写出的这段程序有语法错误,而且不完整,应该是手动在这里输入的吧?!请从IDE中把源程序复制/粘贴到这里。要完整的程序。

追问

完整的程序好几百行呢呀 我拷那一段吧
#include "stdafx.h"
#include "iostream"
#include "fstream"
#include
using namespace::std;
int a[10];
int b[10];
int main(){
ifstream file("txt2.txt",ios::in);
int i;
if(file.is_open())
return 1;
for(i=1;i>a[i]>>b[i];
system("pause");
return 1;
}
txt.txt内容如下
这么简短的程序是一样的错误 还望大神不吝赐教

追答

这段程序没有问题,可以读取到文件中的数字,不过程序中有一处不知道作者的用意是什么:

if(file.is_open())
return 1;

如果文件成功打开,则返回1退出程序。这样做的目的是什么?文件成功打开之后应该对文件进行读取,而这里却要退出程序,如果把这里修改为如下,就可以正常读取了(否则,只有当文件没有成功打开时,反而才会读取,当然会出错):

if( !file.is_open() )
return 1;

追问

嗯,记下了。但是在system("pause")前面加上cout<<a<<b<<endl;的时候直接运行的话 会出来这么一个结果0112139001121368.看不大明白。如果不重建解决方案,再运行又会出来其他结果 好像还不是十进制的 这个能给解释下不?若选择调试,虽有结果 但是会出现以下的错误 我qq411970181 方便的话 加上聊 不方便的话 就这么说也行 呵呵 嘿嘿 谢了哈

追答

那输出的是a和b的地址。

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