| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:文件的输入输出问题
只看楼主 加入收藏
比尔
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:17
专家分:2
注 册:2013-3-5
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:3 
文件的输入输出问题
求大神看一下,这是哪错了,为什么在新建的文件中没有写的文字哪(只有一个空文件)
//从键盘中输入以下字符,逐个的把它们送到磁盘上去,知道用户输入一个"#"为止
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE * fp;
    char filename[10],ch;
    printf("请输入文件明:\n");
    scanf("%s",filename);
    if(fp = fopen(filename,"w") == NULL)
    {
        printf("你输入的文件名不对");
        exit(0);
    }
    ch = getchar();                         //用来接收最先输入的回车符。
    printf("请输入一个准备存储到磁盘的字符串(以#结束)");
    ch = getchar();                         //接收从键盘输入的第一个字符
    while(ch != '#')
    {
        fputc(ch,fp);                        //向磁盘上输入一个字符
        putchar(ch);                        //将输入的字符显示在屏幕上
        ch = getchar();                      //在接收从键盘上输入的一个字符。
    }
    fclose(fp);                              //关闭文件
    putchar(10);                             //向屏幕输出一个换行符。

    return 0;

}
搜索更多相关主题的帖子: include 新建 用户 
2013-03-22 08:50
lmxy1990
Rank: 2
等 级:论坛游民
帖 子:21
专家分:23
注 册:2011-12-19
收藏
得分:3 
看了一遍,大概有几点跟我所知道的不同。
1.你那里用if判断后应该加一个:printf("please input again!\n);
filename=gets();
fp=fopen(filename,"w");/*这里貌似可以指定路径跟文件名,不过我忘了。。*/
2.我觉得getchar是输入单个字符,gets才是字符串的输入。。
我也只是新手,因为用到的地方不多,所以学的不精。。。
抱歉了。。。。
2013-03-22 09:39
chenghan818
Rank: 2
等 级:论坛游民
帖 子:27
专家分:22
注 册:2011-5-21
收藏
得分:3 
if(fp = fopen(filename,"w") == NULL)改成 if((fp = fopen(filename,"w")) == NULL) 就可以了 不然==的优先级高些。
2013-03-22 09:45
比尔
Rank: 1
来 自:四川广安
等 级:新手上路
帖 子:17
专家分:2
注 册:2013-3-5
收藏
得分:0 
谢谢2,楼,3楼,不然的话我还要纠结很久啊
2013-03-22 09:52
快速回复:文件的输入输出问题
数据加载中...
 
   



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

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