易截截图软件、单文件、免安装、纯绿色、仅160KB

C 语言 删除文件中的一行 - C/C++ / C语言

比如有个文件内容
01:aaaaaaaaaa
02:bbbbbbbbb
03:cccccccccccc
04:ddddddddddd
05:eeeeeeeeee


怎么根据03这个行号来删除那一行呢? 变成如下:
01:aaaaaaaaaa
02:bbbbbbbbb
04:ddddddddddd
05:eeeeeeeeee

思路:先用fseek找到要删除的记录的位置,然后将此位置之前的记录重新写

入一个文件,然后再将文件指针移到此记录的末尾处,在将余下的记录也写入

刚才写入的文件中,最后删除原来的文件,重新命名现在文件啊. 


思路是有,可是我是新手,编程组织不起来,哪位高手可以帮帮我呀

you are right.Just do it.

貌似这个可以实现你的要求

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

假定一行不超过1000字符,
删去第3行,L=3.  
输入输出文件名 a.txt


C/C++ code:
#include<stdio.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;i<L;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",o


相关问答:

linux环境下gethostbyname函数问题 - C/C++ / C语言

写了个测试程序如下
   
  struct hostent *hp; 
char AlarmDevIP[20];  
  int x2;

hp = gethostbyname("www.google.com");
if (hp)
{ ......

为什么xml不能显示阿拉伯文 - C/C++ / C++ 语言

为什么我的程序调用XML配置文件中的阿拉伯文显示不出来?其他的语种都可以,如中文,英文,德文都可。
我将XML的编码改为utf-8和unicode的到得结果都一样.
阿拉伯文的字库你有么?

有,我的EXE是放在pc机上执行� ......

c# Winform 触摸屏程序 - .NET技术 / C#

公司开发一个触摸屏程序,我负责的一块,实现这样一个功能,当鼠标点击窗口中图片(一张图分成几部分)的其中一部分时,将这部分图片截取出来,弹出新的窗口,将截取出的图片显示出来。我使用Rectange类控制了返回, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号