| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 472 人关注过本帖
标题:向文件写入\读取数据的问题
取消只看楼主 加入收藏
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
结帖率:81.82%
收藏
已结贴  问题点数:20 回复次数:3 
向文件写入\读取数据的问题
程序代码:
#include<stdio.h>
#include<stdlib.h>
#define MAX 40
int main(void)
{
    FILE *fp;
    char words[MAX];
    if((fp=fopen("gfile","a+"))==NULL)
    {
        fprintf(stdout,"Can't open \"words\"file.\n");
        exit(1);
    }
    puts("enter the words");
    while(gets(words)!=NULL&&words[0]!='\0')
    {    
        fprintf(fp,"%s",words);
    }
    puts("file contents");
    int t=0;
    rewind(fp);
    while((t=fscanf(fp,"%s",words))==1)
    {
        puts(words);
        printf("%d\n",t);
    }
    printf("%d\n",t);
    printf("%d\n",sizeof(words));    
    if(fclose(fp)!=0)
    {
        fprintf(stderr,"error\n");
    }
    return 0;
}
一段代码,功能是向文件添加单词
c primer上的
有两个问题:
1、为什么向文件写入50个字符时候就不能再写入了?
2、每次运行,最后的puts(words)都会把文件内的信息显示出来(包括上一次运行输入的数据),这句代码不应该是打印words这个数组内的数据吗?
2015-08-27 15:04
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
另外问下怎么发图片啊?难不成要把图片当成附件上传?
2015-08-27 15:10
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
回复 3楼 TonyDeng
fprintf(fp,"%s",words)和fscanf(fp,"%s",words)
是不是可以分别理解成把words里的数据写到fp指向的文件里 和 把fp指向的文件里的数据写入words数组里。
2015-08-27 15:46
w906414
Rank: 2
等 级:论坛游民
帖 子:75
专家分:76
注 册:2015-5-29
收藏
得分:0 
之前fprintf和fscanf的用法和原理没搞懂,谢谢TonyDeng大人和5L的大哥!!
2015-08-27 16:19
快速回复:向文件写入\读取数据的问题
数据加载中...
 
   



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

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