免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 934 | 回复: 0
打印 上一主题 下一主题

[SCO UNIX] 好郁闷,一个百思不得其解的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-05-04 02:30 |只看该作者 |倒序浏览
各位大虾,我想用一个程序对一个配置文件里面的数据进行读写。配置文件中有若干个键值对,每个键值对占两行,键名一行,数值一行。我用下面的函数修改配置文件中的某个键的值,在linux下面工作正常,也就是说它能够修改我要求的键的值,而不会影响到文件其他部分;可是我在SCO UNIX下面运行同样的程序,却发现配置文件中在这个键的前面的所有的键值对又被重新append在原来的配置文件的后面,就是说它又在原来的配置文件的后面添加了一堆东西,而不是在原来的基础上进行更新。
    为什么会这样?我的文件打开方式是"r+"。

int SetFileInfo(char *key, char *value)
{
        size_t len=20;
        fseek(confp,0,SEEK_SET);
        while(1)
        {
                if(fgets(buffer, len, confp)==NULL)
                {
                        break;
                };
                        if(strstr(buffer,key)!=NULL)
                {
                                fputs(value,confp);
                        break;
                }
}

        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP