c语言去掉一行,C语言去掉换行符

本文目录一览:

C语言如何把一个文本文件的某一行删除掉?

可以用c语言的fseek()函数(stdio.h),…随机读写

要知道, 一个文件打开后有一个位置指针, 指示当前读写位置..

顺序读写时, 读写一个, 系统自动把位置指针移动到下一位置…

用fseek()就可以手动更改..

用法是fseek(FILE*(文件指针),long offset(偏移量),int whence(参考位置))

参考位取值:0 文件开头, 1 当前位置, 2 文件最后..

作用就是将FILE*指定的文件的位置指针从参考位置移动offset字节

移动方向由offset的+/-决定..

另外用rewind()可以将位置指针恢复到文件头..

C语言,删除一行

删除文件里的一行内容,后面的行向前移动一行,清空最后一行,程序如下:

假定一行不超过1000字符,

删去第3行,L=3.

输入输出文件名

a.txt

#includestdio.h

void

main()

{

FILE

*fin;

fpos_t

pos_w,pos_r,pos;

int

i,k,L=3;

char

*one_line;

one_line

=

(char

*)

malloc(1000*sizeof(char));

fin

=

fopen

(“a.txt”,”rb+”);

for

(i=1;iL;i++)

fgets(one_line,999,fin);

fgetpos

(fin,pos_w);

fgets(one_line,999,fin);

//

delete

fgetpos

(fin,pos_r);

pos

=

pos_r;

while

(1

==

1)

{

fsetpos

(fin,pos);

if

(fgets(one_line,999,fin)

==NULL)

break;

fgetpos

(fin,pos_r);

pos

=

pos_w;

fsetpos

(fin,pos);

fprintf(fin,”%s”,one_line);

fgetpos

(fin,pos_w);

pos

=

pos_r;

}

pos

=

pos_w;

fsetpos

(fin,pos);

k

=

strlen(one_line);

for

(i=0;ik;i++)

fputc(0x20,fin);

fclose(fin);

}

c语言删除文件中的指定的一行数据怎么做

你平时应该有这样的经历,打开一个.txt格式的小说,在里面删除几个字,系统反应却很慢,这是为什么呢?因为文件里的内容都是在硬盘上按顺序一个字节挨着一个字节摆放的,读取文件的时候,会从文件首地址一直读到文件结束标记“-1”。如果能够直接把文件里面的几个字节删掉,那么下次这个文件怎么读呢?怎么区分中间那几个字节被删掉了呢?所以对于这些简单的文件来说,要想直接删除里面的内容是不可能的。

一般有两个方法实现这个功能:

1.把要保留的内容写到另一个文件中,要删掉的内容就不用写了。

2.把要保留的内容存储到一个字符串变量中,要删掉的内容不用存储,最后把这个字符串再写回到原文件中覆盖原来的内容。

例程:

#includestdio.h

struct data

{

    int bianhao;

    char fenlei[10];

    char ming[12];

    int shijian[3];

    float jiage;

}

void del(int num){//定义删除指定编号的内容的函数 

    FILE *f1;//操作的文件 

    long length;//文件总长度 

    char *f2;//用于记录要保存的内容 

    char s[100];//用于保存每次读取的一行内容 

    int n;//用于存储编号 

    f1=fopen(“data.txt”,”r”);//以读的方式打开文件 

    fseek(f1,0,2);//文件指针移到文件尾 

    length=ftell(f1);//取得文件长度 

    f2=(char *)malloc(sizeof(char)*length);//给f2分配文件长度的空间 

    *f2=0;//使得f2字符串的长度初始为0 

       rewind(f1);//文件指针回到文件头 

    while(ftell(f1)length-3){//当文件没有结束时就依次读取文件的每一行 

        fgets(s,100,f1);//读取一行信息 

        n=atoi(s);//从读取的信息取得编号 

        if(n==num) continue;//如果编号是要删除的编号,就不用保存这一行信息了 

        strcat(f2,s);//保存读取到的这一行信息 

    }

       fclose(f1);//关闭文件 

    f1=fopen(“data.txt”,”w”);//重新以写的方式打开文件 

    fputs(f2,f1);//把保存的信息重新存储到文件当中 

    fclose(f1);//关闭文件 

}

int main(){

    del(1); //调用上面定义的函数删除指定编号的内容 

    del(3); //参数为编号 

    system(“pause”);//暂停一下 

}

怎么用c语言删除文件第一行

#include stdio.h

void main() {

    FILE *fin,*fout;

    int c;

 

    fin=fopen(“t.txt”,”r”);

    fout=fopen(“t.tmp”,”w”);

    while (1) {

        c=fgetc(fin);

        if (EOF==c) break;

        if (‘\n’==c) break;

    }

    if (EOF!=c)

    while (1) {

        c=fgetc(fin);

        if (EOF==c) break;

        fputc(c,fout);

    }

    fclose(fin);

    fclose(fout);

    remove(“t.txt”);

    rename(“t.tmp”,”t.txt”);

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/251752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-13 17:32
下一篇 2024-12-13 17:32

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论