| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:一个关于文件输入的问题
只看楼主 加入收藏
浩加加
Rank: 2
等 级:论坛游民
帖 子:51
专家分:14
注 册:2009-11-12
结帖率:94.12%
收藏
已结贴  问题点数:20 回复次数:2 
一个关于文件输入的问题
#include "stdio.h"
main()
{
    FILE *fp;
    char *p;
    char a[80];
    int i,x;
    printf("写入选1,重新写入选2,添加选3\n");
    scanf("%d",&x);
    switch(x)
    {
    case 1:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 2:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 3:if((fp=fopen("d:\\myone.txt","a"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    default:printf("输入错误\n");
        exit(0);
    }
    p=a;
    printf("请输入一串字符:\n");
        for(i=0;i<5;i++)//本意我是想输入5行字符的,但第一行却为空行。
        {    gets(p);
        while(*p!='\0')
        {
            fputc(*p,fp);
                p++;
        }
        fputc('\n',fp);
        }
        fclose(fp);
}
但是当把这段注释时:
/*printf("写入选1,重新写入选2,添加选3\n");
    scanf("%d",&x);
    switch(x)
    {
    case 1:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 2:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 3:if((fp=fopen("d:\\myone.txt","a"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    default:printf("输入错误\n");
        exit(0);
    }*/
添加上
if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }
却能实现了``???
为什么呢?
搜索更多相关主题的帖子: 输入 文件 
2010-03-30 19:28
hzh512
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:234
专家分:1333
注 册:2009-6-5
收藏
得分:20 
呵呵,简单。吃掉回车就可以了!!

printf("写入选1,重新写入选2,添加选3\n");
scanf("%d",&x);
getchar();

编程=用几种语言在某个或几个平台上通过抽象思维运用一系列算法来解决现实中问题的手段
2010-03-30 19:57
赤那
Rank: 3Rank: 3
来 自:广东
等 级:论坛游侠
威 望:1
帖 子:127
专家分:178
注 册:2010-3-1
收藏
得分:0 
#include <stdio.h>
#include<stdlib.h>
void main()
{
    FILE *fp;
    char *p;
    char a[80];
    int i,x;
    printf("写入选1,重新写入选2,添加选3\n");
    scanf("%d",&x);
    getchar();
    switch(x)
    {
    case 1:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 2:if((fp=fopen("d:\\myone.txt","w"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    case 3:if((fp=fopen("d:\\myone.txt","a"))==NULL)
    {
    printf("cann't open myone\n");
    exit(0);
    }break;
    default:printf("输入错误\n");
        exit(0);
    }
    p=a;
    printf("请输入一串字符:\n");
        for(i=0;i<5;i++)//本意我是想输入5行字符的,但第一行却为空行。
        {    gets(p);
        while(*p!='\0')
        {
            fputc(*p,fp);
                p++;
        }
        fputc('\n',fp);
        }
        fclose(fp);


}
2010-03-30 23:48
快速回复:一个关于文件输入的问题
数据加载中...
 
   



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

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