比如有个文件内容
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
公司开发一个触摸屏程序,我负责的一块,实现这样一个功能,当鼠标点击窗口中图片(一张图分成几部分)的其中一部分时,将这部分图片截取出来,弹出新的窗口,将截取出的图片显示出来。我使用Rectange类控制了返回, ......