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

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

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

蛊毒传说 2019-02-05 11:07:35
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会自动创建一个文件,但是我加上路径时就无法创建了,为什么啊?我试过把 ' \ ' 换成 ' / ' 或' \\ ' 都不行?
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

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


查看完整回答
反对 回复 2019-03-17
?
慕村225694

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

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

查看完整回答
反对 回复 2019-03-17
  • 2 回答
  • 0 关注
  • 738 浏览

添加回答

举报

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