第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

這是我的函數(shù),但是fwrite()函數(shù)總是寫不進文件

這是我的函數(shù),但是fwrite()函數(shù)總是寫不進文件

C
慕桂英3389331 2023-03-05 17:13:32
void insert() //中間插入函數(shù){ int line_index;char c[100]="this is a text!"; char temp_str[100];printf("請輸入你的內(nèi)容的行位置:");scanf("%d",&line_index);//char line[100];//printf("請輸入數(shù)據(jù)\n");//scanf("%s",c);if((fp=fopen("you.txt","rt+"))==NULL)//打開要添加的文件{printf("\n打開a1.txt失敗!");}if((fp2=fopen("temp.txt","w+"))==NULL)//打開緩存文件{printf("\n打開a2.txt失敗!");}seekline(line_index,fp);while(fread((void *)temp_str,sizeof(char),1,fp))//將寫位置以后的所有數(shù)據(jù)存入緩存文件{fwrite((void *)temp_str,sizeof(char),1,fp2);}seekline(line_index,fp);//重定位源文件printf("%d\n",ftell(fp));fwrite(c,strlen(c),1,fp);//把數(shù)據(jù)寫入源文件printf("%d\n",ftell(fp));fseek(fp2,0,0);//把緩存文件定位到頭部while(fread((void *)temp_str,sizeof(char),1,fp2))//把緩存的數(shù)據(jù)寫回源文件{fwrite((void *)temp_str,sizeof(char),1,fp);} printf("%d",strlen(c));}void seekline(int line,FILE *fp) /****表示定位到line行的第col個字符,fp是文件指針***/{char temp[100];//數(shù)據(jù)緩沖int n=1;fseek(fp,0,SEEK_SET);//將文件指針移到頭部do{if(line==n)//當計數(shù)器與所需行號相同時,退出循環(huán),說明行號找到{break;}n++;//行計數(shù)器加1}while(fgets(temp,100,fp));//從文件讀取一行數(shù)據(jù),保存在tmp中,在這里假定一行數(shù)據(jù)最大有100個字符fseek(fp,0,SEEK_CUR);//將文件指針移到第col個字符}
查看完整描述

2 回答

?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

我看了看,發(fā)現(xiàn)問題出在你的定位函數(shù)seekline()上。你是不是想要定位到某行某列插入數(shù)據(jù)呀?

查看完整回答
反對 回復 2023-03-08
?
胡說叔叔

TA貢獻1804條經(jīng)驗 獲得超8個贊

C 沒有提供在文件中直接插入數(shù)據(jù)的函數(shù),只能復制文件內(nèi)容,當讀到指定位置,寫入要插入的數(shù)據(jù),接著復制文件。

查看完整回答
反對 回復 2023-03-08
  • 2 回答
  • 0 關注
  • 260 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號