| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1101 人关注过本帖
标题:为什么我格式化读取文件时 第一行第一个字母没有读出来????
只看楼主 加入收藏
lsd98
Rank: 2
等 级:论坛游民
帖 子:51
专家分:26
注 册:2010-3-30
结帖率:76.92%
收藏
已结贴  问题点数:5 回复次数:6 
为什么我格式化读取文件时 第一行第一个字母没有读出来????
程序代码:
void getfile(HWND hwnd,TCHAR *s)//导入数据
{
    FILE * fp;
    char fname[20],fpass[20],fsex[4],finfo[64];
    ZeroMemory(fname, sizeof(fname));
    ZeroMemory(fpass, sizeof(fpass));
    ZeroMemory(fsex, sizeof(fsex));
    ZeroMemory(finfo, sizeof(finfo));
    if((fp=fopen(s,"r"))==NULL)
    {
        MessageBox(hwnd,TEXT("文件打开失败!"),TEXT("错误"),MB_OK|MB_ICONERROR);
        return;
    }
    while(fgetc(fp)!=EOF)
    {
        fscanf(fp,"%s %s %s",fname,fpass,fsex);
        wsprintf(finfo,"insert into T_USER(Users,Password,Sex) values('%s','%s','%s')",fname,fpass,fsex);
        MessageBox(hwnd,finfo,"",MB_OK);
    }
    fclose(fp);
}
像我的txt文件内容是
abcd jjj hi
ddse jkfd lk
kkdl fkl ii
读出来的结果是
bcd jjj hi  ---->第一个字母落掉了 什么回事?请求高手帮忙!!!
ddse jkfd lk
kkdl fkl ii
搜索更多相关主题的帖子: 字母 文件 格式化 
2010-04-23 16:56
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
第一行fgetc(fp)吃掉了第一个字母
最后一行fgetc(fp)吃掉了eof
在其它行 fgetc(fp)吃掉了换行符
2010-04-23 17:31
lsd98
Rank: 2
等 级:论坛游民
帖 子:51
专家分:26
注 册:2010-3-30
收藏
得分:0 
那我该什么改 用fgetc(fp)是为了判断文件结束的  有什么办法代替这种判断???????
2010-04-24 15:17
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:5 
土办法:
    char c;
    while((c = fgetc(fp)) != EOF)
    {
        if (c != '\n') fseek(fp, -1, SEEK_CUR);
        fscanf(fp,"%s%s%s",fname,fpass,fsex);
        sprintf(finfo,"insert into T_USER(Users,Password,Sex) values('%s','%s','%s')",fname,fpass,fsex);
        printf("%s\n", finfo);
    }
2010-04-24 17:00
lsd98
Rank: 2
等 级:论坛游民
帖 子:51
专家分:26
注 册:2010-3-30
收藏
得分:0 
行了 太感谢你了?但是不知道这个原理是什么
fseek还真没有用过呢!
你要是愿意教我的话那就太好了;
总之困扰很久的事解决了 很开心 呵呵!谢谢你
2010-04-25 09:45
ldg628
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分:0 
fseek是移动文件指针。。。。网上一搜一大把。。充分利用网上的资源
2010-04-25 20:16
川蜜
Rank: 2
等 级:论坛游民
帖 子:15
专家分:30
注 册:2010-4-20
收藏
得分:0 
很好
2010-04-25 21:01
快速回复:为什么我格式化读取文件时 第一行第一个字母没有读出来????
数据加载中...
 
   



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

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