c語言fopen為什么打不開文件,?
#include<stdio.h>#include<stdlib.h>int main(){int i;FILE *fp;char str[20]; if((fp=fopen("D:myfile","r+"))==NULL){printf("文件打開失敗!");exit(0);}fgets(str,10,fp);for(i=0;i<9;i++){str[i]=str[i]+32;}fputs(str,fp);return 0;}
若你是文件打開失敗!,,則說明你的d:盤根目錄沒有myfile這個(gè)文件(你要建一個(gè)的)
但你程序得不到你要的結(jié)果的
首先r+打開的文件,讀完后要寫的話,,要加
fseek 指令的,,否則無法寫入
其次,, 你用fputs(str,fp);你的str沒有的結(jié)尾,,要下標(biāo)溢出的。
改好的參考
我用的是fseek(fp,-1,0);,,是將原文件的前10個(gè)字母由小寫變大寫,并放在原文件后面,。
相關(guān)推薦
便查問答是一款實(shí)用的網(wǎng)絡(luò)熱門知識(shí)問答平臺(tái),,專注于分享你不知道的知識(shí),、經(jīng)驗(yàn)及生活問題,在這里所有人都能找到答案歡迎網(wǎng)友參與討論,。