我想对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/

10-14 23:58
查看更多