用C写文件
在C编程中,我学习了用C写文件,c,C,在C编程中,我学习了文件io,并运行了示例代码: #include <stdio.h> main() { FILE *fp; fp = fopen("E:\\tmp\bae.txt", "w+"); fprintf(fp, "This is testing for fprintf...\n"); fputs("This is testing for fputs...\n", fp); fclose(fp); return 0; } #包括 main() { 文
文件io
,并运行了示例代码:
#include <stdio.h>
main()
{
FILE *fp;
fp = fopen("E:\\tmp\bae.txt", "w+");
fprintf(fp, "This is testing for fprintf...\n");
fputs("This is testing for fputs...\n", fp);
fclose(fp);
return 0;
}
#包括
main()
{
文件*fp;
fp=fopen(“E:\\tmp\bae.txt”、“w+”);
fprintf(fp,“这是对fprintf的测试…\n”);
FPUT(“这是对FPUT的测试…\n”,fp);
fclose(fp);
返回0;
}
在这里,代码工作正常,fputs()
返回-1,这意味着代码工作正常。我已经在E:drive上创建了一个目录tmp
,但是这个代码没有创建文件bae.txt
。'
有人能告诉我为什么会这样吗?而不是
fp = fopen("E:\\tmp\bae.txt", "w+");
使用
as
\
在字符串中具有特定的含义。文件名中有控制序列\b
,这是一个退格。使用序列“\`获得一个反斜杠,就像第一个反斜杠一样。您还应该检查文件是否可以打开,如果不能打开,则采取相应的措施。并且fputs
返回值为-1并不意味着“代码工作正常”;相反,它表示一个错误。这与printf
(或任何其他函数)完全无关。预处理器只是将\b
替换为它所代表的任何控制字符(我相信是退格)。是的,对不起。虽然我最终编写了printf,但我并不是有意将其与printf关联。即使\b
没有“字符串中的特定含义”,问题仍然会存在(也就是说,问题是由于缺少反斜杠,不管后面是什么字符)。
fp = fopen("E:\\tmp\\bae.txt", "w+");