问题描述
- vs2013 文件操作为什么fstream没有绑定这个文件
-
//#define _CRT_SECURE_NO_DEPRECATE //#include<stdio.h> #include<vector> #include<iostream> #include<fstream> #include<string> #include<string.h> using namespace std; vector<int> a; //int transf(int x,int index) //{ // int sum = 0; // while (x != 0) // { // sum += x%index; // x = x / index; // } // return sum; //} int main() { string file = "?C:\Users\june\Desktop\output1.txt"; fstream out;// open("?C:\Users\june\Desktop\output1.txt"); ////out.open("?C:\Users\june\Desktop\output1.txt"); out.open(file.c_str(), ios::in); out << 1 << endl; return 0; }
解决方案
你open的方式不对,ios::in是从文件到内存,而且要用>>。写到文件中用的是ios::out。另外,切记先打开文件,然后操作文件,最后关闭文件。养成良好的编程习惯很重要。
int main()
{
fstream outfile("C:UsersjuneDesktopoutput1.txt",ios::out);
outfile<<1<<endl;
outfile.close();
return 0;
}
解决方案二:
out.open(file.c_str(), ios::in);
out << 1 << endl;
你这是打算做啥?读方式打开。向里面写数据?i**ios::in**
缺省方式,和,明确表示os::in 都表示要以读方式打开文件,于是只能读
要用>> 读出数据,而不是<<写入数据。ios::out 是写方式打开
解决方案三:
ios::in 表示读方式打开,你用<<表示向文件写东西,不一致
解决方案四:
斜杠没有看出什么问题。但是你是不是用vc++ 6.0在win7以上兼容方式运行的,那样的话,你的路径会被重新定位,而不是在桌面上。
解决方案五:
把双引号内的路径单斜杠改双斜杠试试
时间: 2024-08-01 12:48:49