我想在 C++ 中为我的 Main 函数使用一个给定的变量,用作输出文件名称的一部分。代码是:
int main(int argc, char* argv[]) {
fstream f,g;
string s1,s2,name;
name = argv[5];
s1 = name+("_systemvalues.dat");
f.open(s1.c_str(), ios::out);
...
c.close();
例如,argv[5] 应该是“test”。该程序正在编译并正在运行,但未生成输出文件。 我可以在终端上显示 s1,它应该是这样的 - 但根本没有生成输出文件。
最佳答案
也许您没有更改文件系统/目录所需的写入
权限。
chmod -R 777 mydir
顺便说一句,您可以使用 std::ofstream 来完成这项工作。如果文件不存在,它将为您创建。
#include <string>
#include <iostream>
#include <fstream>
/* ... */
std::string name = "";
name.append(argv[5]);
name.append("_systemvalues.dat");
std::ofstream out(name.c_str());
out << "text" << std::endl;
out.close();
/* ... */
关于c++ - 如何使用 argv 作为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18033304/