當前位置:首頁 » 編程語言 » c語言怎麼刪除數據末尾
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言怎麼刪除數據末尾

發布時間: 2022-04-21 03:06:50

c語言實現文件內容某行刪除

整體思路如下:
首先,找到找到要刪除的那一行的行號,假如是j行,然後把指向文件的指針定位到j+1行處(可以使用fseek函數,Linux下可以使用lseek函數);
讀取一行(此時的文件指針已到達改行的末尾處,也可以認為是到了下一行的開始處),再把文件指針定位到j行,把剛才讀出的再寫會,使用循環直至文件結束。
簡單的說就是把後面的每一行一行一行的讀出,再一行一行的寫到前面一行。

② 用C語言如何刪除文件中的數據

1、重建一個臨時文件,把原文件內容向臨時文件里拷貝,遇到要刪除的內容就跳過。結束後關閉文件,用remove("原文件名");把原文件刪除,用rename("臨時文件名","原文件名");把臨時文件名改為原文件名就OK了。


2、比如要按題面要求在原文件123.txt中刪除編號為2和4的信息行,則可用以下代碼實現:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
FILE*fin,*ftp;
chara[1000];
fin=fopen("123.txt","r");//讀打開原文件123.txt
ftp=fopen("tmp.txt","w");//寫打開臨時文件tmp.txt
if(fin==NULL||ftp==NULL){
printf("Openthefilefailure... ");
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");//將臨時文件名改為原文件名
return0;
}

③ C語言如何刪除文件中的數據

因為式結構定義的
基本類型是數組
所以
例如刪除
name[1]
addr[1](也就是第二個信息)
可以將個數組後面的向前移動
用一個循環

④ C語言刪除文件末尾字元的問題。

記事本讀取字元串的時候 最後是\r\n結尾 所以fseek 指向的是/r 這個字元 backspace之後
就只有原來的/n了 並且沒有刪除原來的最後我們需要刪除的那個字元
win下記事本 只有\r\n才能正確的換行 字元串只寫\n就會出現那個黑點

⑤ C語言中輸出數字最後有個逗號不知道怎麼去除

printf("1"); /* n % 1 == 0 */
for(i=2;i<n;i++)
{
if(n%i==0) printf(", %d",i);
}
這樣子既能照顧一行輸出中間用逗號分隔,最後也不會多出來逗號了

⑥ C語言中輸出的時候如何去掉最後一個空格

你不要這樣輸入printf("%d",x);
你應該是循環的吧
舉個例子
for

先定義count=0;
for(i=1;i<=n;i++)
{
if(count!=0)
printf("");這里輸入空格
然後輸printf("%d",x);
count++;

這樣就保證了第一個數前面沒有空格最後一個數後面也沒空格只有數字之間有空格

⑦ c語言 刪除一個字元串一個字元後面的數據

具體一點
比如字元串是abcd ,那麼刪掉b後面的數據,就變成ab了?

⑧ C語言數組刪除數據的仔細解答

while(scanf("%d",&n)!=EOF)//在沒有掃描到文件末尾之前
{
for(i=0;i<n;i++)scanf("%d",&a[i]);//掃描n個整數放在a[0]到a[n-1]
m=1;//設定搜索區域m
for(j=1;j<n;j++)//在a[1]到a[n-1]中,依次取出a[j]
{for(i=0;i<m;i++)//在a[j]之前的數中依次取出a[i]
if(a[j]==a[i])break;//如果a[j]和之前的某個數相等,那麼就不管了
if(i==m)a[m++]=a[j];//如果不相等,那麼就把這個數寫到m的位置上
}
for(i=0;i<m;i++)printf("%d",a[i]);
printf(" ");}
}

意思就是,a[0]保留,從a[1]開始,

取出a[1]和保留的a[0]比較,如果沒有重復的,就讓a[0]後面的數=這個數,如果重復,就取出a[2]和a[0]比較,直到在隊列中加入新的數存在a[1]上為止;

取出a[2]和保留的a[0]與a[1]比較,如果沒有重復的,就讓a[1]後面的新數=這個數,如果重復a[0]或者a[1]那麼就比較下一個數,直到在隊列中加入新的數存在a[2]上為止;

。。。

⑨ C語言代碼怎麼刪除數據

#include<stdio.h>

int main()

{

int a[10]={90,89,78,77,66,55,44,33,22,11};

int x;

scanf("%d",&x);//輸入要刪除的數

for(int i=0;i<10;i++)

if(a[i]==x)

a[i]='';

for(int i=0;i<10;i++)

if(a[i]!='')

printf("%d ",a[i]);

}

⑩ 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;
}