c++ - 如何使用 argv 作为变量

标签 c++ string argv

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

相关文章:

c++ - TinyXml++ 教程中的错误

c++ - 从偏移量读取写入

c++ - 为什么这段代码返回 0 和 1?

php - SQL,如果PHP值为空则忽略原因

c - optarg 的多个值

c++ - Qt如何模拟鼠标事件?

java - 检查字符串条件并使用 java 在文件中打印所需的条件

Python 将一个列表中的元素与另一个列表中的所有元素合并

c++ - 如何将值附加到命令行参数数组?

linux - 通过更改 argv[0] 更改 Linux 'ps' 输出