我想对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,这应该是它的样子-但是不会生成outputfile。
最佳答案
也许您没有所需的write
权限来更改文件系统/目录。
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/