我在尝试从全局char *数组中打印到txt文件时遇到问题。
我的数组声明为
char* codes[256];
我还有一个函数构造一个字符串并将其返回到该值之后将该值放入此全局数组
char* printArr(int arr[], int n)
{
char* code = (char *) malloc(sizeof(char) * (n+1));
int i;
for (i = 0; i < n; ++i)
{
code[i] = arr[i] + '0';
}
code[n] = '\0';
return code;
}
之后我只是将该值放入该全局数组中。之后,我试图将这些数组值打印到这样的txt文件中:
void PrintToFile(char* outputFileName)
{
FILE* f = fopen(outputFileName, "w+");
int i;
for (i = 0; i < 256; ++i)
{
//printf("%s\n", codes[i]);
fprintf(f, "%s\n", codes[i]);
}
fclose(f);
}
但由于某种原因,我的txt文件变成了空白。 当我尝试打印到stdout时没有打开流我得到那些值但是同时使用printf和fprintf我在stdout或txt文件中都没有得到任何东西。
提前致谢!