标题:一个文件输入数据 终端打印显示乱码
取消只看楼主
Linux2046
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-1-5
 问题点数:0 回复次数:1 
一个文件输入数据 终端打印显示乱码
#include<stdio.h>
#include<stdlib.h>

#define SET 20
#define LENGTH 13

void Init(double (*w)[LENGTH]);
void Input_file(double (*w)[LENGTH]);
void Write_file(double (*w)[LENGTH]);
void Print(double (*w)[LENGTH]);

FILE *fp;

int main()
{
    double Weight[SET][LENGTH];
    double Weight1[SET][LENGTH];

    Init(Weight);
    printf("orginal info as follow...\n");
    Print(Weight);
   
    Write_file(Weight);
    Input_file(Weight1);
    printf("Renew show in file !\n");
    Print(Weight1);


    return 0;
}

void Input_file(double (*w)[LENGTH])
{
    int i,j;

    if( (fp=fopen("king.txt","r"))==NULL )
    {
        printf("cannot open file !\n");
        return ;
    }

    for(i=0;i<SET;i++)
    {
        for(j=0;j<LENGTH;j++)
        {
            fscanf(fp,"%f",&(w[i][j]));
        }
    }
    fclose(fp);
}

void Write_file(double (*w)[LENGTH])
{
    int i,j;

    if( (fp=fopen("king.txt","w"))==NULL )
    {
        printf("cannot open file !\n");
        return ;
    }
   
    for(i=0;i<SET;i++)
    {
        for(j=0;j<LENGTH;j++)
        {
            fprintf(fp,"%6.2f ",w[i][j]);
        }
//        fprintf(fp,"\n");
    }
    fclose(fp);
}

void Init(double (*w)[LENGTH])
{
    int i,j;

    for(i=0;i<SET;i++)
    {
        for(j=0;j<LENGTH;j++)
        {
            w[i][j]=2.0;
        }
    }
}

void  Print(double (*w)[LENGTH])
{
    int i,j;

    for(i=0;i<SET;i++)
    {
        for(j=0;j<LENGTH;j++)
        {
            printf("%8.2f",w[i][j]);
        }
        printf("\n");
    }
    printf("\n");
}
搜索更多相关主题的帖子: include double follow file 
2012-01-05 12:57
Linux2046
Rank: 1
等 级:新手上路
帖 子:4
专家分:5
注 册:2012-1-5
得分:0 
求各位专家 帮忙 看看 好人有好报
2012-01-05 12:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359190-1-1.html




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

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