| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1899 人关注过本帖
标题:新手上路 怎样利用C语言在D盘上创建一个文本文件
只看楼主 加入收藏
张大勇
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-4-4
收藏
 问题点数:0 回复次数:8 
新手上路 怎样利用C语言在D盘上创建一个文本文件
#include "stdio.h"
main()
{char ch;
 FILE *p;
 if((p=fopen("D:\\file_a.dat","w"))==NULL)
 {printf("can not open this the file");
  exit(0);
 }
 ch=getchar();
 while(ch!='@')
 { putc(ch,p);
   ch=getchar();
 }
 fclose(p);
if((p=fopen("D:\\file_a.dat","r"))==NULL)
 {printf("can not open this the file");
  exit(0);}
ch=getc(p);
while(ch!=EOF)
{putchar(ch);
 ch=getchar(p);
}
}
这个程序始终编译不过,但我查不出错误。是不是在D上创建文本文件错了?望热心的人帮助指点迷惑!
搜索更多相关主题的帖子: C语言 文本文件 
2008-04-04 18:47
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
我运行你这个程序没问题啊,在D盘创建了一个叫file_a.dat的文件

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-04 19:53
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
还有你最后一句ch=getchar(p);什么意思?
getchar这个宏有参数吗?

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-04 19:54
黑夜的黑
Rank: 1
等 级:新手上路
帖 子:35
专家分:5
注 册:2008-3-31
收藏
得分:0 
ch=getchar(p);里面的p去掉.
getchar()是个写入一个字符.
   我还是新手.
2008-04-04 20:03
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
我查了stdio.h文件
getchar函数是这样定义的:
=====================================
#define getchar()         getc(stdin)
=====================================
所以getchar只是用getc函数向屏幕输出(stdin是写屏幕缓冲区),
是没有参数的

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2008-04-04 20:10
张大勇
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-4-4
收藏
得分:0 
原来如此啊!谢啦
2008-04-08 22:22
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
while(ch!='@')是什么东东...
是while(ch!='\n')的吧,不然怎么结束?
ch=getchar(p);
改为ch=getchar();
exit(0)//最好用exit(1),表示错误退出
fclose(p)//应该在最下面再加一个
2008-04-08 22:46
张大勇
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-4-4
收藏
得分:0 
不对啊
我把ch=getchar(p);改成了ch=getc(p); 程序如下,但还是通过不了啊!在VC++ 6。0下运行,错误提示为
C:\Documents and Settings\wan\3.cpp(7) : error C2065: 'exit' : undeclared identifier
C:\Documents and Settings\wan\3.cpp(23) : warning C4508: 'main' : function should return a value; 'void' return type assumed
执行 cl.exe 时出错.



程序
#include "stdio.h"
main()
{char ch;
FILE *p;
if((p=fopen("D:\\file_a.dat","w"))==NULL)
{printf("can not open this the file");
  exit(0);
}
ch=getchar();
while(ch!='@')
{ putc(ch,p);
   ch=getchar();
}
fclose(p);
if((p=fopen("D:\\file_a.dat","r"))==NULL)
{printf("can not open this the file");
  exit(0);}
ch=getc(p);
while(ch!=EOF)
{putchar(ch);
 ch=getc(p);
}
}
2008-04-08 23:02
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
VC ++用exit();
要包含头文件
stdlib.h

error C2065: 'exit' : undeclared identifier
//exit()没有定义.
DEV C++中就可以不加stdlib.h

是把ch=getchar(p);//dev c++我的通不过...
改成ch=getchar();
2008-04-08 23:11
快速回复:新手上路 怎样利用C语言在D盘上创建一个文本文件
数据加载中...
 
   



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

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