| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9795 人关注过本帖
标题:fwrite函数写入的txt文件出现乱码 ’烫‘,求指点
只看楼主 加入收藏
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
结帖率:100%
收藏
已结贴  问题点数:100 回复次数:20 
fwrite函数写入的txt文件出现乱码 ’烫‘,求指点
这是我写的程序,真心求指教,烦了我好几天了

#include <stdio.h>
#include <stdlib.h>
struct worker
{
    char num[10];              /*职工号*/
    char name[10];        /*姓名*/   
    char sex[5];         /*性别*/
    char age[3];              /*年龄*/
    char graduation[10];  /*学历*/
    char salary[10];           /*工资*/
    char address[20];      /*地址*/
    char telephone[15];     /*电话号码*/
};   
void main()
{
    FILE *fp;
    int n;
    struct worker wor[100];
    if((fp=fopen("dx.txt","rb+"))==NULL)  /*打开失败*/
    {
        printf("Cannot open the file ,strike any key to exit!\n");
        getchar();
        exit(0);        /*退出程序*/
    }
    fseek(fp,0,SEEK_END);
    printf("请输入职工人数:");
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
    printf("\n请输入职工的工号:");
        scanf("%s",wor[i].num);
    printf("\n请输入职工姓名:");
        scanf("%s",wor[i].name);
    printf("\n请输入职工性别:");
        scanf("%s",wor[i].sex);
    printf("\n请输入职工年龄:");
        scanf("%s",wor[i].age);
    printf("\n请输入职工学历:");
        scanf("%s",wor[i].graduation);
    printf("\n请输入职工工资:");
        scanf("%s",wor[i].salary);
    printf("\n请输入职工地址:");
        scanf("%s",wor[i].address);
    printf("\n请输入职工电话号码:");
        scanf("%s",wor[i].telephone);
     fwrite(&wor[i],sizeof(struct worker),1,fp);
         getchar();
    }
    rewind(fp);
    fclose(fp);
}
为什么运行后,打开的目标txt文件都是乱码
如:001 烫烫烫1231 烫烫?321531 5 烫烫烫烫351 烫烫烫351 烫烫烫烫烫烫烫烫351 烫烫烫烫烫?23 烫烫烫123 烫烫烫123 ?2351 烫烫烫?51 烫烫烫351 烫烫烫烫烫烫烫烫351 烫烫烫烫烫?01 烫烫烫txy 烫烫烫g 烫?1 sdf 烫烫烫gasdg 烫烫dfg 烫烫烫烫烫烫烫烫4341313 烫烫烫
搜索更多相关主题的帖子: telephone address include 电话 
2013-06-20 00:24
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:60 
注意加上字符串结束标志 '\0'

三十年河东,三十年河西,莫欺少年穷!
2013-06-20 00:38
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:16 
说点不相干 的:

楼主主函数第一个if里,

我猜你是想用getch吧,不是getchar吧。。。

仅仅猜测,感觉会更这样地道一点而已。


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-20 01:46
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
另外请教一下楼主:

你用的什么编译器,我的vs里写.c文件,明显不支持随处定义变量的这种

在.cpp里才可以这样随用随处定义的。


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-20 01:47
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
另外,你的这个代码在我的vs里

运行了一下,

直接输出的是程序里写的不能打开文件那一句。

不知道怎么回事儿。。


学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。               

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-20 01:50
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
收藏
得分:5 
fwrite(&wor[i],sizeof(struct worker),1,fp);在写入结构体的时候,它有个内存对齐,所以不能直接写入!!!要分开写
2013-06-20 06:02
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:3 
你可以用fputs每次写一行试试看,当作字符串处理,虽然文件会大些;但是比作为二进制写入要方便。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-06-20 08:05
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:0 
回复 4楼 蚕头燕尾
用的  Visual C++ 6.0

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-20 10:09
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:0 
回复 3楼 蚕头燕尾
是getchar(),改成getch()提示错误

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-20 10:11
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:0 
回复 6楼 YJ_Hao
请指点详细点或者把修改后的发过来

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-20 10:13
快速回复:fwrite函数写入的txt文件出现乱码 ’烫‘,求指点
数据加载中...
 
   



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

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