今天学习了文件流,想往磁盘文件中输入数据,出现了BUG,最终记得老师说过,windows路径写法有点不一样,是“/”,解决了问题。
#include <fstream>#include <iostream>using namespace std;void main(){ int a[10]; ofstream outfile; outfile.open("D:/goumi/abc.dat", ios::out);//路径写法/,而不是/! if (!outfile) { cerr << "打开错误" << endl; system("pause"); exit(1); } cout << "pppp" << endl; for (int i = 0; i < 10; i++) { cin >> a[i]; outfile <<a[i]<< " "; } outfile.close(); system("pause");} 另外,文件流和标准输入输出流一样,都是C++ 自定义的类,使用时,首先包含其头文件,然后定义相关流对象。标准输入输出流类:iostream,使用:#include <iostream>,此类的其中两个常用流对象是cin,cout,其成员函数重载了符号">>","<<"。
文件流类:fstream,使用:#include <fstream>,cin,cout是标准输入输出流预定义的流对象,用户可以直接使用,但是文件流,需要用户自己定义流对象
且文件流对象要和指定文件建立关联,且指明是二进制文件,还是ASCII文件。操作如下:
方法1:
ofstream outfile; outfile.open("D:/goumi/abc.dat", ios::out);//路径写法/,而不是/!调用文件流类的成员函数open,第一个参数是磁盘文件的名称和格式(dat二进制文件(打开用记事本),txt(ASCII文件,直接可以打开看到字符串)),不写路径,默认在当前目录下。第二个参数是指明以输出方法。
方法2:
ofstream outfile("D:/goumi/abc.dat", ios::out);由于文件流类,有待参数的构造函数,构造函数里有打开磁盘文件的功能,所以在定义流对象的同时可以指定参数,调用构造函数来打开文件
新闻热点
疑难解答
图片精选