鱼C论坛

 找回密码
 立即注册
查看: 2782|回复: 3

fopen() 的 五个小问题? 10鱼币求解!

[复制链接]
发表于 2012-4-18 20:31:39 | 显示全部楼层 |阅读模式
10鱼币
一、fp=fopen("c:\\123.txt","wt+");  //我知道要用双斜杠,是转义字符的关系

-----------------------------------------------------------
二、char filename[20];
..
..
scanf("%s",filename);  //为什么这个输入的文件名为 c:\123.txt  c:\\123.txt  即一个两个 (其实我试了多少个[url=]\\\\\[/url]个能行)
fp=fopen(filename,"wt+");

--------------------------------------------------------------

三、 如果输入的为 123.txt  即没有路径名  文件默认保存在什么地方?

----------------------------------------------------------------
四、源代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ch,filename[20];
FILE *fp;
printf("Please input filename");
scanf("%s",filename);
if(!(fp=fopen(filename,"wt+")))
{
printf("cannot open file");
exit(0);
}
printf("please input the sentences you want to write");
ch=getchar();ch=getchar();
while(ch!=EOF)
{
     fputs(ch,fp);     //    ch=getchar();
     ch=getchar();   //   fputs(ch,fp);                   调换顺序,出现这么一个字符(win7中为空,自认为可能是回车符)                                                                                                                                  
}
fclose(fp);
}

---------------------------------------------------------------------------------------

五、   

                               
登录/注册后可看大图
                                                                                                                                                           














最佳答案

查看完整内容

第一个问题 你自己不是解决了吗 不过我不知道你干嘛加个t 第二个问题 我不理解你的意思 第三个问题 如果不指定路径,是在当前目录下 第四和第五是不是同一个问题啊。。。windows下文本写‘\n’会被处理成 '\r' 和 '\n',文本读则相反,而unix/linux就不存在这个问题,所以你在选择方式的时候应该选二进制,就可以远洋进行读写了!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-18 20:31:40 | 显示全部楼层
第一个问题 你自己不是解决了吗 不过我不知道你干嘛加个t
第二个问题 我不理解你的意思
第三个问题 如果不指定路径,是在当前目录下
第四和第五是不是同一个问题啊。。。windows下文本写‘\n’会被处理成 '\r' 和 '\n',文本读则相反,而unix/linux就不存在这个问题,所以你在选择方式的时候应该选二进制,就可以远洋进行读写了!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-19 00:20:20 | 显示全部楼层
int fputs(char *string, FILE *stream);
你的 四 应该用fputc吧  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-19 11:05:35 | 显示全部楼层
第五个问题解释下
输入EOF必须先输入一个回车
这是编译器的问题
EOF之后输入的字符串无效
如果想退出循环,必须先输入一个回车,再输入EOF才可以。
另外几个问题,还真不懂啥意思。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 02:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表