【发布时间】:2013-08-04 21:10:03
【问题描述】:
我想在 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,它应该是 - 但输出文件根本没有产生。
【问题讨论】:
-
什么是
c.close()应该是f.close()?你介意展示整个代码吗? -
没有文件,还是文件为空?
-
如果
s1是你想要的,那么问题可能不是argv。您应该使用f.close()关闭文件,并向我们展示您是如何写入的。 -
使用
f.isopen()和f.good()查看文件流是否创建正确。 -
从技术上讲,如果
f.open()成功,文件应该在那里[当然也假设以后没有任何“删除文件”操作。