免费注册 查看新帖 |

Chinaunix

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

求助 程序出了问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-01 16:02 |只看该作者 |倒序浏览
题目
ini文件的格式为
name1=value1
name2=value2
通过参数命令行输入ini文件名和name,将ini文件中的指定name的value显示出来


程序实现
编辑test.ini文件
$cat>test.ini
user=neusoft_user
passwd=neusoft_passwd
server=orcl
编辑程序testini.c 实现模拟读取ini文件功能
$vi testini.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
    FILE *ini;
    char *key,*p,line[100],str1[100],str2[100];
    int f1=0,c1,c2;
    if(argc!=3)
    {
    printf("Usage:%s *.ini properyNamen",argv[0]);
    exit(1);
    }
    if((ini=fopen(argv[1],"r"))==NULL)
    {
    printf("file not existn");
    exit(1);
    }
while(!feof(ini))
{
    fgets(line,1024,ini);
    key=strchr(line,'=');
    if(key)
    {c1=strlen(key);
     c2=strlen(line)-c1;
     strncpy(str1,line,c2);
      if(strcmp(argv[2],str1)==NULL)
       {f1=1;
        strcpy(str2,key+1);
        printf("name=%s value=%s n",str1,str2);
        return(0);
       }
    }
   else
   {
   printf("null propery");
   return(0);
   }
}
if(feof(ini)&&(f1==0))
printf("read %s properyErrorn",argv[2]);
}
编译结果
输入: ./a.out testini.c user
输出:user=neusoft_user
但输入第二个参数就显示 read *** properyError,
Eg:
输入:./a.out testini.c passwd
输出:read passwd properyError
不知道为什么会出错,我检查不出来自己的程序到底什么地方出了毛病,
请帮我调试一下,解决问题不胜感激,
全天在线望眼欲穿等待回复~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP