| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1115 人关注过本帖
标题:fread为什么读取文本中的一个数字不出
取消只看楼主 加入收藏
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
结帖率:87.8%
收藏
已结贴  问题点数:10 回复次数:5 
fread为什么读取文本中的一个数字不出
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a;
    FILE *fp;

    fp=fopen("55.txt","rw");   //55.txt文本中只有一个数字55为什么显示不出来
    fread(&a,sizeof(int),1,fp);
    printf("%d",a);
    fclose(fp);
    return 0;
}
搜索更多相关主题的帖子: color 
2014-01-08 10:38
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 2楼 yuccn
求解,什么格式不一致
2014-01-08 12:04
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 2楼 yuccn
程序代码:
#include <stdio.h>

int main()
{

 FILE * fp;

 int a=45;

 int b;



 fp=fopen("1.txt","wb+");


 fwrite(&a,sizeof(int),1,fp);///将a值写到文件中.这句起作用,移动了文件指针。
 fseek(fp,0,SEEK_SET);//将文件指针移回首部
 fread(&b,sizeof(int),1,fp);


 printf("b is %d\n\n",b);


 fclose(fp);


 return 0;


为什么这样写又可以?
2014-01-08 12:11
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 6楼 yuccn
恩恩,我是直接打了55放55.txt中去的
2014-01-08 12:18
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 9楼 yuccn
原来是这样
2014-01-08 12:28
liu0919
Rank: 2
等 级:论坛游民
帖 子:124
专家分:35
注 册:2013-5-13
收藏
得分:0 
回复 9楼 yuccn
这个有点不太懂
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFSIZE 1024
#define SLEN 81
void append(FILE *source,FILE *dest);

int main(void)  //把多个文件追加到一个文件中
{
    FILE *fa,*fs;
    int files=0;  //追加文件的个数
    char file_app[SLEN];  //被追加文件的名字
    char file_src[SLEN];   //源文件名字
    puts("Enter name of destination file: ");
    gets(file_app);
    if((fa=fopen(file_app,"a"))==NULL)
    {
        fprintf(stderr,"Can't open %s\n",file_app);
        exit(2);
    }
    puts("Enter name of first source file(empty line to quit): ");
    while(gets(file_src)&&file_src[0]!='\0')
    {
        if(strcmp(file_src,file_app)==0)
            fputs("Can't append file to itself\n",stderr);
        else if((fs=fopen(file_src,"r"))==NULL)
            fprintf(stderr,"Can't opem %s\n",file_src);
        else
        {
            if(setvbuf(fs,NULL,_IOFBF,BUFSIZE)!=0) //为什么要为fs创造缓存区有什么用
            {
                fputs("Can't creat input buffer\n ",stderr);
                continue;
            }
            append(fs,fa);
            if(ferror(fs)!=0)
                fprintf(stderr,"Error in reading file %s.\n",file_src);
            if(ferror(fa)!=0)
                fprintf(stderr,"Error in writing file %s.\n",file_app);
            fclose(fs);
            files++;
            printf("File %s appended.\n",file_src);
            puts("Next file(empty line to quit)");

        }
    }
    printf("Done. %d files appended.\n",files);
    fclose(fa);
    return 0;
}

void append(FILE*source,FILE *dest)
{
    size_t bytes;
    static char temp[BUFSIZE];

    while((bytes=fread(temp,sizeof(char),BUFSIZE,source))>0)  //这个循环怎么终止呀,不懂这个循环的意思
        fwrite(temp,sizeof(char),bytes,dest);
}
2014-01-08 12:30
快速回复:fread为什么读取文本中的一个数字不出
数据加载中...
 
   



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

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