當前位置:成語大全網 - 書法字典 - C語言如何將壹行文本插入文本文檔的特定行?

C語言如何將壹行文本插入文本文檔的特定行?

1,這些功能的主要用途

int f seek(FILE * stream,long offset,int from where);

long ftell(文件*流);

int rewind(文件*流);

2.例行程序:

#包含?& ltstdio.h & gt

#包含?& ltstdlib.h & gt

#包含?& ltstring.h & gt

#包含?& ltconio.h & gt

#包含?& ltWindows.h & gt

/*?將讀取的文件放入數組中,並將新數據插入數組中;

將數組中的數據重寫到文件中。

*/

虛空?main(int?argc,char?*?agrv)

{

文件?* fp

夏爾。名稱【20】;?//輸入變量

int?總和;?//輸入變量

夏爾。fName【10】【20】;//可以存儲10個名稱。

int?fs core【10】;//存儲10條得分記錄。

夏爾。buff 1【20】;

夏爾。buff 2【20】;

int?I = 0;

//打開存儲文件

如果?((FP = fopen(“c:\ \ score list . txt“,“r“))= = NULL)

{

printf(“可以嗎?不是嗎?打開嗎?那個?文件“);

getch();

退出(0);

}?

其他

{?

什麽時候?(!feof(FP))

{?

zero memory(buff 1,sizeof(buff 1));?//清除存儲器

零內存(buff2,sizeof(buff 1));

fgets(buff 1,sizeof(buff 1),FP);?//讀取名稱

fgets(buff 2,sizeof(buff 2),FP);?//讀出第二行的分數。

如果?(strcmp(buff 1,“““)==0)

{

繼續;

}

其他

{

strcpy(fName【I】,buff 1);?

printf(“% s“,fName【I】);?//輸出名稱

fs core【I】?=?atoi(buff 2);//將字符類型轉換為int類型。

printf(“% I \ n“,fs core【I】);//打印出小數值

}

i++;

}

}

fclose(FP);

//打開存儲文件,將排序後的數據重新寫入文件。

如果?((FP = fopen(“c:\ \ score list . txt“,“w“))= = NULL)

{

printf(“可以嗎?不是嗎?打開嗎?那個?文件“);

getch();

退出(0);

}?

其他

{?

printf(“輸入?那個?新的?名稱:\ n“);

scanf(“% s“,name);

printf(“輸入?那個?新的?score:\ n“);

scanf(“% I“,& ampsum);

int?j?=0;

//獲取新積分的排序位置。

而(sum?& lt?fs core【j】)

{

j++;

}

//移動數據以從後向前對數組重新排序。

int?m?=?我;

什麽時候?(我》j)

{

strcpy(fName【I】,fName【I-1】);

fs core【I】?=?fs core【I-1】;

I-;

}

strcpy(fName【j】,name);

strcat(fName【j】,“\ n“);

fs core【j】?=?總和;

//寫入文本文件

int?k = 0;

while(k & lt;=m)

{

FP uts(fName【k】,FP);

fprintf(FP,“%i\n“,fs core【k】);

k++;

}

}

fclose(FP);

}