如何在c++ linux中通过在变量中传递文件名来打开文件
how to open file by passing its name in variable in c++ linux
#include<iostream>
#include<conio.h>
#include<fstream>
#include<string>
#include<string.h>
#include<vector>
using namespace std;
void main()
{
string read;
string name;
vector<string> myvec;
const char * word;
ifstream in;
in.open("w.txt");
ofstream out;
getline(in,read);
word = strtok(&read[0],",");
while(word != NULL)
{
name = word;
cout<<"Word: "<<word<<endl;
name = name + ".txt";
myvec.push_back(name);
out.open(name);
cout<<"Name: "<<name<<endl;
word = strtok(NULL,",");
out.close();
}
in.close();
system("pause");
}
我遇到的问题是,当我在ubuntu终端运行它时,它抛出一个错误,通常说out.open()将不接受字符串名称。
我必须创建不同的文件,从文件中获取输入。那么有办法解决这个问题吗?
在c++ 03中,ofstream::open()
取const char*
,而不是std::string
;见http://www.cplusplus.com/reference/fstream/ofstream/open/。如果你可以使用c++ 11 (gcc -std=c++11
),你可以传递一个std::string
。
相关文章:
- 不带预处理器的调用方法/文件的文件名/行号
- 如何在目录及其子文件夹中构建文件名字符串向量?
- VSCode C++调试文件名中包含中文字符的文件时插件损坏
- 生成文件文件名参数
- 如何让我的代码显示文件名不正确或文件中数字的平均值?
- 如何更改目录中文件夹中的文件名
- 从 C++ 中的文件路径中提取文件名
- 从 QFileSystemModel 中的文件路径和文件名获取 QModelIndex
- 如何更改变量文件名的文件路径?
- 有没有办法打印包含当前文件的文件的文件名
- CMake 意外地将最后一个文件名预置到可执行文件中
- Qt - 如何在 30 天后删除日志文件,文件名不固定
- 将文件重命名为已存在的文件名
- 如何在 Windows 上从 C++11 统计信息对象的文件序列号中查找文件名
- Xcode 8.3.2 中的错误警告:文件的非可移植路径 - 指定的路径与磁盘上的文件名不同
- 如何在C 中读取具有前缀和时间戳为文件名的文件
- 使用文件名作为字符串从任意souce .cpp文件中调用函数
- 预处理器指令:为什么使用#Define的标题文件标识符与标头文件名不同
- 如何通过键入文件名来获取文件的目录。(C++)
- 如何根据用户输入指定的文件名打开文件