我要请较一个C打开文件问题,整的我很郁闷,请高手帮忙看下。

afangsky 2009-05-19 09:42:06
我写了一个简单的打开文件的程序
#include "stdio.h"
void main()
{
char ch;
FILE *fp
if((fp=fopen("c:\\c1.txt"),"r")==NULL)
{
printf("文件不存在!");
getch();
exit(0);
}
ch=fgetc(fp);
while(ch!=EOF)
{
printf("%c",ch);
ch=fgetc(fp);
}
fclose(fp);
getch();
}/*这样可以对文件就行读*/
但是我把读文件的代码放在一个子程序中就读不出来文件了;例如
#include "stdio.h"
void read()
{
char ch;
FILE *fp
if((fp=fopen("c:\\c1.txt"),"r")==NULL)
{
printf("文件不存在!");
getch();
exit(0);
}
ch=fgetc(fp);
while(ch!=EOF)
{
printf("%c",ch);
ch=fgetc(fp);
}
fclose(fp);
}
void main()
{
read();
getch();
}
...全文
219 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
afangsky 2009-05-20
  • 打赏
  • 举报
回复
呵呵,谢谢各位的见意,果然是编译器的问题,我要结给分了.
caodaxia 2009-05-20
  • 打赏
  • 举报
回复
这是我在VC上改好,通过了,做了一些改进,可以先输入数据到文件,(假如文件不存在就自动新建文件),然后再从文件将数据取出
建议LZ放弃TC吧,换个编程环境吧,写C代码的话VC就不错。
#include "stdio.h" 
void write(void)
{ int i=0;
char ch[100];
FILE *fp;
if((fp=fopen("c:\\c1.txt","w+"))==NULL)
{
printf("文件不存在!");
getchar();
//exit(0);
}
printf("please enter the data:\n");
scanf("%s",ch);
while(ch[i]!='\0')
{

fputc(ch[i++],fp);
}
fclose(fp);
}
void read(void)
{
char ch;
FILE *fp;
if((fp=fopen("c:\\c1.txt","r"))==NULL)
{
printf("文件不存在!");
getchar();
//exit(0);
}
ch=fgetc(fp);
printf("the data is \n");
while(ch!=EOF)
{
printf("%c",ch);
ch=fgetc(fp);
}
printf("\n");
fclose(fp);
}
void main()
{
write();
read();
getchar();
}
caodaxia 2009-05-20
  • 打赏
  • 举报
回复
那你在C盘根目录下建立一个新文件,(新建文本文档,并把名称改为c1.txt,随便输入些类容)
然后再按LS的lingyin55试试,他已经改好了。
hongming1129 2009-05-20
  • 打赏
  • 举报
回复
你的文件究竟在不在啊?
WIN-TC呀?
用其他更好的吧,推荐codeblocks,集成gcc的。
afangsky 2009-05-19
  • 打赏
  • 举报
回复
我写的时候不小心掉了,我运行过的程序没一点错就是找不开文件。相当郁闷了
afangsky 2009-05-19
  • 打赏
  • 举报
回复
不是哪的错,我运行了一下,不知道 为什么一直打印文件不存在,我用的是WIN-TC编译的

goodname 2009-05-19
  • 打赏
  • 举报
回复
char ch; //最好是 int ch;
lingyin55 2009-05-19
  • 打赏
  • 举报
回复
char ch;
FILE *fp ////少分号
if((fp=fopen("c:\\c1.txt"),"r")==NULL) ////你仔细看下括号的匹配,上面的程序已经改好了
lingyin55 2009-05-19
  • 打赏
  • 举报
回复
程序有错,试试


#include "stdio.h"
void read()
{
char ch;
FILE *fp;
if((fp=fopen("c:\\c1.txt","r"))==NULL)
{
printf("文件不存在!");
getchar();
exit(0);
}
ch=fgetc(fp);
while(ch!=EOF)
{
printf("%c",ch);
ch=fgetc(fp);
}
fclose(fp);
}
void main()
{
read();
getch();
}
afangsky 2009-05-19
  • 打赏
  • 举报
回复
在线等,急急急!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧