| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9795 人关注过本帖
标题:fwrite函数写入的txt文件出现乱码 ’烫‘,求指点
只看楼主 加入收藏
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:0 
回复 2楼 韶志
在哪加,请说详细点,或修改后发过来

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-20 10:14
我叫沃恩
Rank: 12Rank: 12Rank: 12
来 自:Asia
等 级:贵宾
威 望:10
帖 子:1234
专家分:3865
注 册:2013-3-29
收藏
得分:3 
学习!

因为我是菜鸟,所以应该被骂! 细节+坚持=成功!
2013-06-20 11:49
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
收藏
得分:3 
用fprintf将结构体一一写入文件
2013-06-20 12:51
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 11楼 新手而已
好吧   下面是我按照自己的风格写的程序   你看看  和你的比较下
程序代码:
#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];     /*电话号码*/
}wor[100];

void save(void);
void load(void);
int n=0;
void main()
{
   
    int i;
    printf("请输入职工人数:");
    scanf("%d",&n);
    for(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);
    }
    save();
    load();
}

void save(void){
    FILE *fp;
    int i;
    if((fp=fopen("d:\\dx.txt","wb"))==NULL)  /*打开失败*/
    {
        printf("open fail\n");
        exit(0);        /*退出程序*/
    }
    for(i=0;i<n;i++)
    {
        if(fwrite(&wor[i],sizeof(wor),1,fp)!=1)
        {
            printf("file write error\n");
            exit(0);
        }
    }
    fclose(fp);
}

void load(void){
    FILE *fp;
    int i;
    if((fp=fopen("d:\\dx.txt","rb"))==NULL)  /*打开失败*/
    {
        printf("open fail\n");
        exit(0);        /*退出程序*/
    }
    for(i=0;i<n;i++)
    {
        if(fread(&wor[i],sizeof(wor),1,fp)!=1)
        {
            printf("file read error\n");
            exit(0);
        }
    }
    fclose(fp);
}

 
图片附件: 游客没有浏览图片的权限,请 登录注册



[ 本帖最后由 韶志 于 2013-6-20 13:50 编辑 ]

三十年河东,三十年河西,莫欺少年穷!
2013-06-20 12:53
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:10 
其实  你结构体的定义没必要全用数组   像年龄、工资、职工号都可以用整型或者长整型

三十年河东,三十年河西,莫欺少年穷!
2013-06-20 13:50
新手而已
Rank: 2
等 级:论坛游民
帖 子:35
专家分:55
注 册:2013-3-21
收藏
得分:0 
回复 15楼 韶志
谢谢,受教了,我对比你的,再把我的修改了下,发现没有乱码了

正在专攻C语言中。。。
  能帮到的就这点。。。
2013-06-20 17:51
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:0 
回复 16楼 新手而已
问题解决就好

三十年河东,三十年河西,莫欺少年穷!
2013-06-20 18:14
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
收藏
得分:0 
真晕,试了半天,没搞明白为什么定义结构体数组要在全局?在main函数里面就会乱码?
2013-06-20 19:57
蚕头燕尾
Rank: 10Rank: 10Rank: 10
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:734
专家分:1546
注 册:2013-3-24
收藏
得分:0 
回复 9楼 新手而已
用getch是要加这个头文件的:

#include<conio.h>

上次说的时候忘了说了,我以为楼主会知道的

getch()是无回显接受一个字符,

而getchar()是在屏幕有输出显示的,

从美观的角度来说,我在很多代码里面见到的都是getch(),而不是getcharh()


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

                                                                                                                    Black Cat      Hello Tomorrow~
2013-06-20 20:30
hl709632728h
Rank: 2
等 级:论坛游民
帖 子:20
专家分:14
注 册:2013-8-27
收藏
得分:0 
同样求解中!
2013-08-27 21:09
快速回复:fwrite函数写入的txt文件出现乱码 ’烫‘,求指点
数据加载中...
 
   



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

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