标题:在建立文件的同时能不能把文件里面的内容输出出来,请按照我这个思路给个意 ...
只看楼主
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
结帖率:100%
已结贴  问题点数:20 回复次数:6 
在建立文件的同时能不能把文件里面的内容输出出来,请按照我这个思路给个意见把!
#include "stdio.h"

FILE *create(FILE *fp,char a[])
{
    fp=fopen("d:\\1.txt","w");
    fputs(a,fp);
    return fp;
    }
void main()
{FILE *fp;
    char a[100]="abcdefg",b[100];
    fp=fopen("d:\\1.txt","r+");
    fp=create(fp,a);
    fscanf(fp,"%s",b);
    puts(b);
    fclose(fp);
}
不知道这里哪里出错了,希望大家能给个建议!!!
搜索更多相关主题的帖子: include 梁家辉 create 独生子 大哥 
2017-05-25 16:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:7 
fp有点乱。
改个名就可以。
2017-05-25 19:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:7 
猜不出你想实现什么功能

程序代码:
#include <stdio.h>

int main( void )
{
    const char* filename = "d:\\1.txt";

    // 写入
    {
        const char* s = "abcdefg";
        FILE* fp = fopen( filename, "w" );
        fputs( s, fp );
        fclose( fp );
    }

    // 读出
    {
        char b[100];
        FILE* fp = fopen( filename, "r" );
        fgets( b, sizeof(b)/sizeof(*b), fp );
        puts( b );
        fclose(fp);
    }

    return 0;
}


程序代码:
#include <stdio.h>

int main( void )
{
    FILE* fp = fopen( "d:\\1.txt", "w+" );

    // 写入
    {
        const char* s = "abcdefg";
        fputs( s, fp );
    }

    // 读出
    rewind( fp );
    {
        char b[100];
        fgets( b, sizeof(b)/sizeof(*b), fp );
        puts( b );
    }

    fclose(fp);
    return 0;
}

2017-05-26 08:30
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
得分:0 
回复 3楼 rjsp
我的意思是在建立文件并且向文件里面输入内容的同时能不能把里面的内容读取出来!
2017-05-26 17:41
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用何小达在2017-5-26 17:41:27的发言:

我的意思是在建立文件并且向文件里面输入内容的同时能不能把里面的内容读取出来!
能不能,你看我给你的代码呀
2017-05-27 08:22
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
得分:0 
回复 5楼 rjsp
#include <stdio.h>

int main( void )
{
    FILE* fp = fopen( "f:\\1.txt", "w+" );

    // 写入
    {
        const char* s = "abcdefg"; //这里的const是什么,这个关键字我没学
        fputs( s, fp );
    }

    // 读出
    rewind( fp );
    {
        char b[100];
        fgets( b, sizeof(b)/sizeof(*b), fp );  //这里如果用fscanf(fp,"%s",b);应该简单点吧,
        puts( b );
    }

    fclose(fp);
    return 0;
}
2017-05-27 19:31
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
得分:0 
我知道我错在哪里了,没有用rewind返回文件头,所以输出的话就是空的,谢谢各位了
2017-05-27 19:33



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




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

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