ifstream input_data;
input_data.open()
就是这个括号里面的文件路径的格式应该怎么写
我说的是文件路径,请各位看清楚了再回答,谢谢!!!文件不在当前文件夹下
在fstream类中,成员函数open()实现打开文件的操作,从而将数据流和文件进行关联,通过ofstream,ifstream,fstream对象进行对文件的读写操作
函数:open()
<span style="font-family:Times New Roman;font-size:16px;">
public member function
void open ( const char * filename,
ios_base::openmode mode = ios_base::in | ios_base::out );
void open(const wchar_t *_Filename,
ios_base::openmode mode= ios_base::in | ios_base::out,
int prot = ios_base::_Openprot);
</span>
参数: filename 操作文件名
mode 打开文件的方式
prot 打开文件的属性
很多程序中,可能会碰到ofstream out("Hello.txt"), ifstream in("..."),fstream foi("...")这样的的使用,并没有显式的液耐去调用open()函数就进行文件的操作,直接调用了其默认的打开方式,因为在stream类的构造函数中调用了open()函数,并拥有同样的构造函数,所以在这里可以直接使用流对象进行文件的操作,默认方式如下:
<span style="font-family:Times New Roman;font-size:16px;">
ofstream out("...", ios::out);
ifstream in("...", ios::in);
fstream foi("...", ios::in|ios::out);
</span>
当使尺漏用默认方式进行对文件的操作时,可以使用成员闹困春函数is_open()对文件是否打开进行验证
括号里应该有2个参数,第一个是文件的路径+名称,第二个是标盯锋识,比如楼上的例子中的ios::in(读取橡则衡)ios::out(写入)ios::nocreate(不创建)ios::binary(梁做二进制方式读写)等等。
input_data.open("要斗州打开的文件",ios::in|A);
ifstream 表示数空瞎蔽仍然,ofstream表示输出。其中ios::in表示打开文件输入,A处你神猜可以加上其他功能如:ios::app,ios::binary,
就是文本形前慎式的,如果是Windows系行棚统,例如打开C:\bin\test.txt
input_data.open("c:\\bin\\test.txt");
常见的..和.也支持
Linux系统就是把\\换慧带敬成/
哎,我也忘了我这是什么程序了。反正是很简单的功能,我用来学习fstream的。希望对橡州你有帮助。
#include <fstream.h>
int main()
{
char a;
ifstream infile("f1.txt",ios::in|ios::nocreate);
if (!infile)
{
cerr<<"can not find!"返物<<endl;
return 0;
}
ofstream outfile("f2.txt",ios::out);
if (!outfile)
{
cerr<<梁世蔽"open error!"<<endl;
return 0;
}
while(infile>>a)
{
a += 2;
outfile<<a;
}
infile.close();
outfile.close();
ifstream infile1("f2.txt",ios::in|ios::nocreate);
if (!infile1)
{
cerr<<"can not find!"<<endl;
return 0;
}
ofstream outfile1("f3.txt",ios::out);
if (!outfile1)
{
cerr<<"open error!"<<endl;
return 0;
}
while(infile1>>a)
{
a-=2;
outfile1<<a;
}
infile1.close();
outfile1.close();
return 0;
}