标题:C语言在程序中怎么修改txt文件的信息
只看楼主
cyuyan_zs
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-4-17
结帖率:100%
已结贴  问题点数:20 回复次数:7 
C语言在程序中怎么修改txt文件的信息
0001 小明 男 6800 服务员
0002 小红 女 6801 服务员
.
.
在程序运行里,怎么修改信息,比如把小红修改成小白

程序代码:
//修改员工模块
void xiugai_y()
{
    char num[50], name[50], sex[50], type[50], tel[50]; 
    system("cls");
    FILE * fp;
    fp = fopen("zengjia_y.txt", "a+");
    rewind(fp);
    while (!feof(fp))
    {
        fscanf(fp, "%s%s%s%s%s\n", num, name, sex, tel, type);
        printf("%s\t%s\t%s\t%s\t%s\n", num, name, sex, tel, type);
    }

以上的代码不完整没有写完 只写到把文本文件中的信息打印到屏幕上,怎么修改还没写。求指点
搜索更多相关主题的帖子: 服务员 system C语言 color 
2015-04-19 14:50
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:20 
唉,老师从来没教这些的么?太多人问这种问题了。

授人以渔,不授人以鱼。
2015-04-19 15:11
cyuyan_zs
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-4-17
得分:0 
回复 2楼 TonyDeng
我们文件那章貌似只有打开关闭和读写操作
2015-04-19 15:51
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
所有文件的操作都是在内存中填写数据之后再写出。

授人以渔,不授人以鱼。
2015-04-19 16:57
cyuyan_zs
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2015-4-17
得分:0 
回复 4楼 TonyDeng
但是具体要怎么写
2015-04-19 17:49
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
我明天会给一个示例出来

授人以渔,不授人以鱼。
2015-04-19 19:27
列车永不停息
Rank: 2
等 级:论坛游民
帖 子:76
专家分:48
注 册:2015-7-31
得分:0 
我也刚刚学习,以前的做法是把文本文件里面的全部数据输到链表里面,然后在链表里面修改,文本文件清零,再输入进去。现在想学习怎么就在文本文件里面修改。
2015-08-03 13:49
来生再见
Rank: 1
来 自:江西省抚州市
等 级:新手上路
威 望:1
帖 子:39
专家分:9
注 册:2015-9-13
得分:0 
以下是引用cyuyan_zs在19/4/2015 14:50:10的发言:

0001 小明 男 6800 服务员
0002 小红 女 6801 服务员
.
.
在程序运行里,怎么修改信息,比如把小红修改成小白

//修改员工模块
void xiugai_y()
{
    char num[50], name[50], sex[50], type[50], tel[50];
    system("cls");
    FILE * fp;
    fp = fopen("zengjia_y.txt", "a+");
    rewind(fp);
    while (!feof(fp))
    {
        fscanf(fp, "%s%s%s%s%s\n", num, name, sex, tel, type);
        printf("%s\t%s\t%s\t%s\t%s\n", num, name, sex, tel, type);
    }
以上的代码不完整没有写完 只写到把文本文件中的信息打印到屏幕上,怎么修改还没写。求指点


有2种办法可以修改:
1.如果你要写入的数据和你要修改的数据占的字节数是一样的话,那么你可以直接覆盖,
2.如果不占的字节数不一样的话,可以新建一个临时文件,
从旧文件读取旧的记录,当读取的记录是你要修改的记录的时候,修改以后再写入

重新开始,努力
2015-09-24 01:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-444235-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027169 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved