0

在 C/C++ 程序中,我这样做是否正确:

int i;
FILE **files = malloc(numFiles * sizeof(FILE *));
std::string file("foo"), ext(".bar");
char *num[10];

for (i = 0; i < numFiles; i++) {
    files[i] = fopen((file + itoa(i, num, 10) + ext).c_str(), "w");
}

这基本上就是我正在做的事情,但我没有将任何内容写入文件。他们是空白的。

编辑

我已经解决了我的问题。我以为我可能在这里做错了什么,但结果却在其他地方。无论如何,感谢您的回复。

4

2 回答 2

4

当然它们是空白的,你没有写任何东西,你只是在写模式下打开文件!

您必须使用 fwrite 或 fprintf 函数将数据写入文件,然后使用 fclose 关闭文件。

于 2012-08-20T15:59:07.277 回答
2

您有指向 char 的指针数组。但是你需要char数组。 char *num[10];--> char num[10]

我想知道它是如何不崩溃的:)

于 2012-08-20T16:10:31.077 回答