注册 登录
编程论坛 C++教室

文件输入和输出的问题

YUN_P 发布于 2014-06-07 21:17, 511 次点击
ifstream infile("d:\\123.txt");
    char a[10000];
    infile>>a[10000];
我从d盘读取文件123.txt,存入到数组a中,这样些有什么问题?
为什么说ifile的声明不正确,请教大神
///
1>e:\cpp\project35\project35\源.cpp(20): error C2371: “infile”: 重定义;不同的基类型
1>          e:\cpp\project35\project35\源.cpp(15) : 参见“infile”的声明
///
上面是编译的时候报的错误
7 回复
#2
i802862014-06-07 22:21
重定义就是指多次(1次以上)的定义,检查infile是否在前面的代码中已经定义了
建议你重新把书上关于《数组》这一章再看一次,一些基本概念你也没搞清楚
#3
YUN_P2014-06-08 20:41
回复 2 楼 i80286
infile 是第一次定义的啊;
这样定义数组我看别人定义是可以过的。
可以详细一点说是哪个地方吗?
谢谢了
#4
i802862014-06-09 11:12
假设定义一个数组char a[N],那么这个数组的下标区间就是[0,N-1],下标越界在编译的时候未必会报错,但运行时就会出现莫名其妙的错误
#5
YUN_P2014-06-09 20:01
回复 4 楼 i80286
谢谢,这个我是知道的。但是没有越界啊。
#6
i802862014-06-10 08:13
回复 5 楼 YUN_P
那如何理解"infile>>a[10000]"?
#7
YUN_P2014-06-10 21:00
回复 6 楼 i80286
就是想把文档里面的内容输入到数组,这就是我想问的?
请指教
#8
i802862014-06-11 11:02
回复 7 楼 YUN_P
for(int i=0;i!=10000;i++)
    infile>>a[i];
数组赋值,在《数组》这一章节中有详细的说明
1