use*_*517 0 c++ file-handling text-files
我遇到过关于数据文件的问题,这些问题告诉我们编写一个函数来做东西.在每个其他问题中,我们处理固定文件名,例如"abc.txt",因此函数不会概括.我想知道数据文件是否有一种方法可以在语句中使用字符串变量:
fstream file("abc.txt",ios::in|ios::out);
并把它变成:
char str[20]="Newfile.txt";
fstream file(str,ios::in|ios::out);
Run Code Online (Sandbox Code Playgroud)
有没有办法使用字符串作为文件名std::fstream?我尝试使用字符串,但没有创建这样的文件,虽然程序的编译没有显示任何错误.
这取决于编译器.这种方式始终如一:
void do_something(std::string const &filename) {
std::fstream(filename.c_str());
// ...
}
Run Code Online (Sandbox Code Playgroud)
这种方式适用于新的(C++ 11)编译器,但不适用于较旧的编译器:
void do_something(std::string const &filename) {
std::fstream(filename);
// ...
}
Run Code Online (Sandbox Code Playgroud)