这里为什么不能创建文件?

ProgrammingRing 2011-03-20 10:03:22

#include <stdio.h>
#include <stdlib.h>

#define SIZE 160

int main()
{
char filename[SIZE];
FILE * fp;

printf("Please input filename: \n");
fgets(filename, SIZE, stdin); // 这里一改成fgets就无法创建文件了,请指点下怎么回事
if((fp = fopen(filename, "w")) == NULL)
{
puts("Error!");
exit(EXIT_FAILURE);
}
fclose(fp);
if(remove(filename) == 0)
puts("Success");
else
puts("Failure");
return 0;
}
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
witwolf 2011-03-20
  • 打赏
  • 举报
回复
fgets(filename, SIZE, stdin);
在这后面加一句
filename[strlen(filename)-1]='\0';
把'\n'字符去掉
witwolf 2011-03-20
  • 打赏
  • 举报
回复
fgets读的filename包含'\n'
文件名不能包含'\n'
所以创建失败

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧