刚刚学习到文件,有不懂的地方?

jiarusun000 2007-02-16 02:57:45
新年快乐大家!

将一个磁盘文件中的数据复制到另一个文件中去?(书上的代码)

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
FILE *in,*out;
char ch,infile[10],outfile[10];
printf("Enter your source file name:\n");
gets(infile);
printf("Enter your destination file name:\n");
gets(outfile);

if(in=fopen(infile,"r"))==NULL
{
printf("Cannot open the source file\n");
exit(1);
}
if(out=fopen(outfile,"w"))==NULL
{
printf("Cannot open the destination file\n");
exit(1);
}
while(feof(in)==0)
fputc(fgetc(in),out);
fclose(in);
fclose(out);
}

我是在win-tc下编译,错误提示:未定义个符号 FILE
是不是需要typedef 定义啊?
谢谢大家喽~
...全文
331 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
boliang319 2007-02-20
  • 打赏
  • 举报
回复
看看你的编译器又没有正确配置stdlib.h与stdio.h的路径把,我怀疑是没有找到这两个文件。
jiarusun000 2007-02-20
  • 打赏
  • 举报
回复
那要怎么看呢? 头文件存放在哪写目录里,这方面我都不清楚呢。。。
fosjos 2007-02-19
  • 打赏
  • 举报
回复
stdio.h:

typedef struct {
short level; /* fill/empty level of buffer */
unsigned flags; /* File status flags */
char fd; /* File descriptor */
unsigned char hold; /* Ungetc char if no buffer */
short bsize; /* Buffer size */
unsigned char *buffer; /* Data transfer buffer */
unsigned char *curp; /* Current active pointer */
unsigned istemp; /* Temporary file indicator */
short token; /* Used for validity checking */
} FILE; /* This is the FILE object */
jiarusun000 2007-02-19
  • 打赏
  • 举报
回复
可是我用的就是win-tc呀? 如果我要自己定义要怎么做呢?我还不懂。
fosjos 2007-02-19
  • 打赏
  • 举报
回复
楼主不是已经加了stdio.h
里面就有typedef struct{...} FILE
楼主下个win-tc试试
yun1st 2007-02-19
  • 打赏
  • 举报
回复
是不是要加个头文件啊,包含FILE的那个库
jiarusun000 2007-02-19
  • 打赏
  • 举报
回复
我看的书是 C程序设计,应该没问题吧? 编译器你们都使用什么呀?

HOHO~~
bruceteen 2007-02-16
  • 打赏
  • 举报
回复
换书 and 换编译器
fosjos 2007-02-16
  • 打赏
  • 举报
回复
if((in=fopen(infile,"r"))==NULL)
{
...
}

如果用FILE就出错的话,建议换个编译器
xxmmllqq 2007-02-16
  • 打赏
  • 举报
回复
我编译了一下,没有这个问题啊
反而是两个if语句要改一下

69,371

社区成员

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

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