提问人:Eitan Ratner 提问时间:8/24/2023 最后编辑:Eitan Ratner 更新时间:9/5/2023 访问量:73
fopen 弄乱文件名并更改文件名
fopen messing up file name and changing the file name
问:
这是我的代码(带有调试打印):
char *full_file_name = malloc(sizeof(char));
FILE *ob_file;
/*creating full file name*/
strcpy(full_file_name, file_name);
strcat(full_file_name, ".ob");
printf("\n full_file_name :%s", full_file_name);
/* -- Creating the new file and inputting data --*/
ob_file = fopen(full_file_name, "w");
printf("\n full_file_name :%s", full_file_name);
为什么会这样?该怎么办?
答:
1赞
NicknEma
#1
您只为单个字符分配内存。 (顺便说一句,您也应该在 malloc 之后检查)NULL
下一个:如何打开递增的单个文件?
评论
full_file_name
\n
%s
....file_name :%s\n"
malloc(sizeof(char));
-->malloc(strlen(file_name) + 1 + NUMBER_OF_CHARACTERS_TO_APPEND);
在这种情况下,似乎是 3NUMBER_OF_CHARACTERS_TO_APPEND