为什么这个C ++代码不能创建文本文件?

时间:2015-08-26 03:26:18

标签: c++ output text-files

我正在尝试开始在c ++中创建一个输出到文本文件的随机密码生成器。我使用了c ++教程http://www.cplusplus.com/doc/tutorial/files/

我正在使用Visual Studio Express 2012

但是代码没有打开任何东西。当我运行程序而不是控制台弹出并说“按任意键......”

时,没有任何反应
int _tmain(int argc, _TCHAR* argv[])
{
srand(time(0));
char string1[8];
static const char alphanum[] =
    "0123456789"
    "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    "abcdefghijklmnopqrstuvwxyz";
for (int i = 0; i < 8; ++i) 
{
    string1[i] = alphanum[rand() % (sizeof(alphanum) - 1)];
}

ofstream myfile;
myfile.open ("example1.txt");
system("PAUSE");
myfile.close();
return 0;
}

1 个答案:

答案 0 :(得分:1)

我希望这是创建一个文件,它不太可能在你期望的地方。根据您运行文件的方式,它可能不是exe所在的位置,而是设置了工作目录的位置。如果你想真正测试从shell或命令提示符直接从它所在的目录运行exe。

值得注意的是,写入文件可能要么在关闭之后才会发生。见这里:http://www.cplusplus.com/doc/tutorial/files/ 调用close方法时,会将输出刷新到文件中。你可能应该在暂停之前调用它。