为了账号安全,请及时绑定邮箱和手机立即绑定

关于利用fopen函数创建文件的问题?

关于利用fopen函数创建文件的问题?

C
汪汪一只猫 2019-01-29 14:02:18
void oppfile(void){char *s;FILE *fp;printf("Enter output file name: ");scanf("%s",s);if((fp = fopen(s,"wb+")) == NULL){printf("can't open file : %s",s);exit(EXIT_FAILURE);}num_parts = fwrite(inventory, sizeof (struct part),num_parts,fp);fclose(fp);想要利用这个函数创建一个特定名称的文件,但是运行的时候,系统提示说 s 未经初始化,1 请问该如何输入文件的路径和名称才能够创建文件?2 请问我在fopen函数的第一个参数直接输入文件名时,VS2010会自动创建一个文件,但是我加上路径时就无法创建了,为什么啊?我试过把 ' \ ' 换成 ' / ' 或' \\ ' 都不行?
查看完整描述

3 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

char *s; 把这个改为char s[128]; 就行了
路径不行的问题,请把你使用的路径贴出来看看

字符数组虽然不等价于指针,你可以把字符数组看成是常量的指针,就是说除了不能被修改,其他的地方和指针是一样的,本质都是指向某一内存空间的地址。


查看完整回答
反对 回复 2019-03-14
?
胡说叔叔

TA贡献1804条经验 获得超8个赞

char *s ,未分配内存而是用,是对野指针操作,scanf写入的是不可靠地址,内存泄漏,

查看完整回答
反对 回复 2019-03-14
  • 3 回答
  • 0 关注
  • 1949 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信