0

我想在 C++ 中为我的主函数使用给定的变量,以用作输出文件名称的一部分。代码是:

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 并且它应该是 - 但输出文件根本没有产生。

4

2 回答 2

1

也许您没有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();

   /* ... */
于 2013-08-03T14:54:47.343 回答
0

好的...问题是输入。字符“/”不能用作文件名的一部分 - 事后看来,这真的很清楚。

于 2013-08-04T13:10:03.180 回答