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);想要利用這個(gè)函數(shù)創(chuàng)建一個(gè)特定名稱的文件,但是運(yùn)行的時(shí)候,系統(tǒng)提示說 s 未經(jīng)初始化,1 請問該如何輸入文件的路徑和名稱才能夠創(chuàng)建文件?2 請問我在fopen函數(shù)的第一個(gè)參數(shù)直接輸入文件名時(shí),VS2010會(huì)自動(dòng)創(chuàng)建一個(gè)文件,但是我加上路徑時(shí)就無法創(chuàng)建了,為什么???我試過把 ' \ ' 換成 ' / ' 或' \\ ' 都不行?
3 回答

溫溫醬
TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊
char *s; 把這個(gè)改為char s[128]; 就行了
路徑不行的問題,請把你使用的路徑貼出來看看
字符數(shù)組雖然不等價(jià)于指針,你可以把字符數(shù)組看成是常量的指針,就是說除了不能被修改,其他的地方和指針是一樣的,本質(zhì)都是指向某一內(nèi)存空間的地址。

胡說叔叔
TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超8個(gè)贊
char *s ,未分配內(nèi)存而是用,是對(duì)野指針操作,scanf寫入的是不可靠地址,內(nèi)存泄漏,
- 3 回答
- 0 關(guān)注
- 1985 瀏覽
添加回答
舉報(bào)
0/150
提交
取消