【发布时间】:2010-12-05 09:14:57
【问题描述】:
你们能帮我写代码吗.. 我想使用 c 编辑文本文件中的特定行我有这个代码...
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct studentinfo{
char id[8];
char name[30];
char course[5];
}s1;
int main(void){
FILE *stream = NULL;
FILE *stream2 = NULL;
stream = fopen("studentinfo.txt", "rt");
stream2 = fopen("studentinfo2.txt", "w+");
char arr [100];
char arr2[100];
char arr3[100];
int i=0;
int count=0;
printf("enter details: ");
gets(arr2);
printf("enter new student id: ");
gets(arr3);
while(!feof(stream)){
fgets(arr, 6, stream);
if(strcmp(arr, arr2)!=0){
fprintf(stream2, "%s", arr);
}else printf("student id found!");
}
fclose(stream);
fclose(stream2);
getch();
}
如果与文本文件中的数据匹配,则程序成功删除用户输入的学生 id w/c。
但我仍然不知道如何替换学生 ID 或与之相关的任何字段。
这个程序只复制不等同于用户输入的数据并将其存储到另一个文本文件(我有 2 个文本文件)如果用户输入 12345,这是输出
它将数据存储到另一个文件的方式:
, name1, bsba
12346, name2, bsba
12347, name3, bsba
12350, name4, bsba
12390, name5, bs
这是原始文件:
12345, name1, bsba
12346, name2, bsba
12347, name3, bsba
12350, name4, bsba
12390, name5, bs
有更好的解决方案吗?谢谢 :) 无论如何,再次感谢 aix,因为我从他那里得到了这个想法......不幸的是我无法完成它......希望你能帮助我......
【问题讨论】: