A. c語言怎麼實現文件中部分數據的刪除
刪除文件部分內容的大概步驟:新建一個臨時文件,把原文件內容向臨時文件里拷貝,遇到要刪除的內容就跳過。結束後關閉文件,用remove("原文件名");把原文件刪除,用rename("臨時文件名","原文件名");把臨時文件名改為原文件名。
例如在原文件123.txt中刪除以2和以4編號開頭的行,可用以下代碼實現:
#include "stdio.h"
#include "stdlib.h"
int main(void){
FILE *fin,*ftp;
char a[1000];
fin=fopen("123.txt","r");//讀打開原文件123.txt
ftp=fopen("tmp.txt","w");//寫打開臨時文件tmp.txt
if(fin==NULL || ftp==NULL){
printf("Open the file failure...\n");
exit(0);
}
while(fgets(a,1000,fin))//從原文件讀取一行
if(a[0]!='2' && a[0]!='4')//檢驗是要刪除的行嗎?
fputs(a,ftp);//不是則將這一行寫入臨時文件tmp.txt
fclose(fin);
fclose(ftp);
remove("123.txt");//刪除原文件
rename("tmp.txt","123.txt");//將臨時文件名改為原文件名
return 0;
}
B. C語言編程題:如何從文件的任意位置刪除一段指定長度的字元串
c語言是無法在刪除文件(因為它要排序)指定行數據的,追加數據除外因為不影響排序,只有讀取文件數據重新編測然後再寫迴文件。一般文本編測器都是這樣:讀取數據——修改數據——刪除原文件——重新創建文件——寫入文件保存起來。
C. C語言-刪除字元串中指定的字元
一、問題描述:從鍵盤輸入一個字元串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字元串str。
1、輸入:第一行是一個字元串; 第二行是一個字元。
2、輸出:刪除指定字元後的字元串。
二、設計思路:
1、 同插入問題,定義兩個字元數組a,b。以及標志刪除位置的int型pos。
2、用gets函數輸入數組a的值,並利用for循環將數組a 到 數組b。
3、利用for循環,令pos位的數組b元素賦值到a。
三、實現代碼如下:
具體執行結果同上。
D. c語言怎麼刪除文件中指定的數據
新建一個文件
將原文件內容讀出,將不刪除數據寫入新文件,完成後關閉文件
將原文件刪除或者更名成備份文件
將新文件改名成原文件名
E. c語言怎麼刪除文件中指定數據
用fseek函數定義流指針位置,位置需要自己計算。利用offset。然後再寫入新內容覆蓋舊內容。但這么做有缺陷,新內容必須和就內容一樣長,否則覆蓋不完全或把後面的內容也覆蓋。
所以,我建議直接新建新文件寫入完整的新數據,更簡單。
fseek()用來移動文件流的讀寫位置.
1、參數stream 為已打開的文件指針,
2、參數offset 為根據參數whence 來移動讀寫位置的位移數。參數 whence 為下列其中一種:
SEEK_SET 從距文件開頭offset 位移量為新的讀寫位置. SEEK_CUR 以目前的讀寫位置往後增加offset 個位移量.
SEEK_END 將讀寫位置指向文件尾後再增加offset 個位移量. 當whence 值為SEEK_CUR 或
SEEK_END 時, 參數offset 允許負值的出現.
F. C語言刪除字元串中指定字元
一、問題描述:從鍵盤輸入一個字元串給str和一個字元給c,刪除str中的所有字元c並輸出刪除後的字元串str。
1、輸入:第一行是一個字元串; 第二行是一個字元。
2、輸出:刪除指定字元後的字元串。
二、設計思路:
1、 同插入問題,定義兩個字元數組a,b。以及標志刪除位置的int型pos。
2、用gets函數輸入數組a的值,並利用for循環將數組a 到 數組b。
3、利用for循環,令pos位的數組b元素賦值到a。
三、實現代碼如下:
具體執行結果同上。
G. c語言中如何對文件的部分內容刪除
1、建立一個.c或者.cpp文件,還要建立一個.txt文件進行操作處理,並且寫上c語言的編譯預處理,頭文件,主函數。