当前位置:首页 » 编程语言 » 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;
}