为什么这个代码将无法打开文件
#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
int main(int argc,char *argv){
fstream inout("C:\\Users\\7\\Desktop\\test.txt",ios::in | ios::out | ios::binary);
if (!inout){
cout<<" cannot open input file.\n";
return 1;
}
long e,i,j;
char c1,c2;
e=5;
for (i=0,j=e;i<j;i++,j--){
inout.seekg(i,ios::beg);
inout.get(c1);
inout.seekg(j,ios::beg);
inout.get(c2);
inout.seekp(i,ios::beg);
inout.put(c2);
inout.seekg(j,ios::beg);
inout.put(c1);
}
inout.close();
return 0;
}
为什么这个代码将无法打开文件 编辑: 我做了更正,但这里是一个问题 的test.txt中写这样的东西为什么这个代码将无法打开文件
maiko
miyvarxar
shen
me
所以应该写 我沉miyvarxar舞妓 但它不写什么 请帮助
您所提供的代码看起来不错。
您可能提供了错误的路径或类似的东西。
您也可以尝试尝试打开以只读模式 这个文件,看看是否是确定的:
std::ifstream in("path", std::ios::binary);
if (!in) {
// fail
}
这似乎为我工作:
using namespace std;
int main()
{
fstream inout("C:\\Users\\turdfurguson\\Turds\testfile.txt", ios::in | ios::out | ios::binary);
if (inout.good())
cout << "OK!" << endl;
}
只要你有一个“C:\ Users \ turdfurgson \ Turds \ testfile.txt”文件是可读写的。
我的dekstop完整路径是这个C:\ Users \ 7 \ Desktop>请帮我 – 2010-10-21 19:58:13
确实存在“test.txt”文件吗? – 2010-10-21 20:00:05
是的确定它存在 – 2010-10-21 20:00:50
更改你的cout行(无法打开输入文件)打印错误 – KevinDTimm 2010-10-21 19:53:33
这是否真的需要另一个问题?它看起来非常类似[这一个](http://stackoverflow.com/questions/3991004/access-of-file-using-c)。 – dreamlax 2010-10-21 20:01:43
Windows文件系统(与所有其他现代文件系统一样)现在接受“/”作为目录分隔符。如果你在路径中使用它,它会使代码更加便携。更容易阅读(因为它不是一个逃生)。 – 2010-10-21 21:38:50