c++中fstream文件操作类的问题,向一个文件中输入数据总是不成功。
想在一个已有的文件中输入数据,却总是不成功,题目如下:有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数组送到磁盘文件中存放。代码如下:#include<i...
想在一个已有的文件中输入数据,却总是不成功,题目如下:
有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数组送到磁盘文件中存放。
代码如下:
#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;
int main()
{int a[10];
ofstream outfile("f1.dat",ios::out);
if(!outfile)
{cerr<<"打开文件失败"<<endl;
exit(1);}
cout<<"输入十个数字:"<<endl;
for(int i=0;i<10;i++)
{cin>>a[i];
outfile<<a[i]<<" ";}
outfile.close();
getch();
}
我自己在编译器的根目录下建立了一个名为f1.dat的文件,作为接收数据的文件,但代码编译执行以后,f1这个文件仍然是空的,这是为什么?
另外,为什么用.dat这种格式?用txt格式行不行? 展开
有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数组送到磁盘文件中存放。
代码如下:
#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;
int main()
{int a[10];
ofstream outfile("f1.dat",ios::out);
if(!outfile)
{cerr<<"打开文件失败"<<endl;
exit(1);}
cout<<"输入十个数字:"<<endl;
for(int i=0;i<10;i++)
{cin>>a[i];
outfile<<a[i]<<" ";}
outfile.close();
getch();
}
我自己在编译器的根目录下建立了一个名为f1.dat的文件,作为接收数据的文件,但代码编译执行以后,f1这个文件仍然是空的,这是为什么?
另外,为什么用.dat这种格式?用txt格式行不行? 展开
3个回答
展开全部
你的问题是找错地方了。你不应该是在编译器的目录下创建文件,而应该是找到项目文件目录,然后在这个目录下创建一个f1.dat 或者f1.txt,当然也可以不创建,程序会自动生成的。
原理是:当你运行你的那个程序的时候,编译器会先在生成的项目的文件夹中查找该文件,如果没有,会生成一个,然后进行读写(如果已经有内容则会先清空再进行写入),最后使用close()函数关闭。
比如我建立的这个项目在E:\MyProject\DatWR中,那么会在E:\MyProject\DatWR 这个目录下生成f1.dat文件,输入的值都会储存在这个文件中。f1.txt也是一样的。
另外,还要在最后加上 return 0; int main() 是需要返回值的,编程一定要注意严谨,即使是警告也要尽量解决掉。
这个程序我已经编译运行过了,没有任何问题,无论是f1.dat还是f1.txt都是可以的,都能将输入的十个数字都存进去了。
原理是:当你运行你的那个程序的时候,编译器会先在生成的项目的文件夹中查找该文件,如果没有,会生成一个,然后进行读写(如果已经有内容则会先清空再进行写入),最后使用close()函数关闭。
比如我建立的这个项目在E:\MyProject\DatWR中,那么会在E:\MyProject\DatWR 这个目录下生成f1.dat文件,输入的值都会储存在这个文件中。f1.txt也是一样的。
另外,还要在最后加上 return 0; int main() 是需要返回值的,编程一定要注意严谨,即使是警告也要尽量解决掉。
这个程序我已经编译运行过了,没有任何问题,无论是f1.dat还是f1.txt都是可以的,都能将输入的十个数字都存进去了。
展开全部
你这个程序正确的,不过不用自己新建一个文件,直接使用就可以了,即使新建了f1.dat文件,你程序运行以后,也会把原来f1.dat文件的内容擦掉,你运行你的程序以后,找到生成的这个f1.dat文件,用记事本打开它,就能看见文件中刚才你输入的数据了。
另外,是txt或者是dat文件都一样,不过都要用记事本打开。
我用vc测试过了
另外,是txt或者是dat文件都一样,不过都要用记事本打开。
我用vc测试过了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我测试过了,程序没有问题。 你运行完程序后,f1.dat 这个文件会在与你写的.cpp 文件相同的目录下生成。 如果要把数据写到D盘根目录下的f1.dat,要写成
ofstream outfile(
ofstream outfile(
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询