tc2.0中,fopen为什么打不开文件?今晚结帐

soluma 2002-10-06 06:05:23
用fopen打开一个肯定存在的txt文件,然后用getchar和fputc从键盘上读入一个字符并写入这个文件中,可为何执行后这个文件中始终没有增加字符啊?
是不是因为是dos7.0关系tc无法对文件进行读写还是什么原因?
奇怪啊

晚上结帐

...全文
80 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
GGYY123 2002-10-06
  • 打赏
  • 举报
回复
不写路径,默认的路径不就是tc文件夹下的了
knock 2002-10-06
  • 打赏
  • 举报
回复
是啊,路径错误!我以前也犯过一样的错误
我用"C:\windows\desktop\aaa.txt",结果给输出到了一个文件windowsd.txt

你的程序也有输出文件,不过名字不叫CHAR2.TXT,应该是TC?.TXT
fossil2000 2002-10-06
  • 打赏
  • 举报
回复
例如:
#include "stdio.h"
main()
{FILE *fp;
int i;
char c;
if ((fp=fopen("C:\TC\CHAR2.TXT","w"))==NULL) <<==路径错了,应该要
{printf("file can not open!\n"); "c:\\tc\\char2.txt"
exit(0); 要两个\\才可以\转义
} 字符
for (i=0;i<10;i++)
{c=getchar();
fputc(c,fp);
}

//这个地方应当有fclose(fp)否则,写入的"内容"全在内存里面而不会到硬Pan里面去的.
}
suntao222 2002-10-06
  • 打赏
  • 举报
回复
哈哈,上面那位仁兄说对了.其实不指定路径也行啊,生成的文件自动就到那个目录了,要不然就是和你的.EXE文件同一个目录下
xzhuang 2002-10-06
  • 打赏
  • 举报
回复
路径错了。否则\在词法分析阶段就转义了!应该用\\
clovefjp 2002-10-06
  • 打赏
  • 举报
回复
还有
文件使用方式不能用"w"应该要用"r"或者"rb"等……
查一下书,这些都有的。
clovefjp 2002-10-06
  • 打赏
  • 举报
回复
例如:
#include "stdio.h"
main()
{FILE *fp;
int i;
char c;
if ((fp=fopen("C:\TC\CHAR2.TXT","w"))==NULL) <<==路径错了,应该要
{printf("file can not open!\n"); "c:\\tc\\char2.txt"
exit(0); 要两个\\才可以\转义
} 字符
for (i=0;i<10;i++)
{c=getchar();
fputc(c,fp);
}

}
而在c:\tc下面有char2.txt这个文件的
可还是没用啊
soluma 2002-10-06
  • 打赏
  • 举报
回复
例如:
#include "stdio.h"
main()
{FILE *fp;
int i;
char c;
if ((fp=fopen("C:\TC\CHAR2.TXT","w"))==NULL)
{printf("file can not open!\n");
exit(0);
}
for (i=0;i<10;i++)
{c=getchar();
fputc(c,fp);
}

}
而在c:\tc下面有char2.txt这个文件的
可还是没用啊
sjd163 2002-10-06
  • 打赏
  • 举报
回复
程序帖出来看看。
lodemaggie 2002-10-06
  • 打赏
  • 举报
回复
上面这位兄台有道理
同桌老王 2002-10-06
  • 打赏
  • 举报
回复
老兄,是你的错
fopen(filename,"w")是打开文件写
fopen(filename,"w+a")是打开添加
waterstony 2002-10-06
  • 打赏
  • 举报
回复
可能是路径的问题,写成绝对路径吧。举一例子,文件在d:\example目录下
fopen("filename.text","w")
--->fopen("d:\\example\\filename.txt","w")
GGYY123 2002-10-06
  • 打赏
  • 举报
回复
void save (void *buffer,int num_bytes)
{
int i;
FILE *fp;

if ((fp=fopen("textfile.txt","w"))==NULL)
{
printf("can't open the file\n");
exit(-1);
}
else
fwrite(buffer,num_bytes,1,fp);
fclose(fp);
}
应该不会啊,试试这个tc2.0调试通过.
skyblue2k 2002-10-06
  • 打赏
  • 举报
回复
参数用对了没? fopen("filename","w")

69,369

社区成员

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

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