打印
[疑难问答]

关于C语言的文件操作的几个问题

[复制链接]
1851|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
麻辣鸭脖子|  楼主 | 2010-3-6 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1:在已建立了目录C:\CODE\TEMP的环境下,执行下列语句:
done = chdir("C:\CODE");      // 改变目录为C:\CODE
getcwd(buffer, MAXPATH);
printf("The current directory is: %s\n", buffer);

done = chdir("C:\CODE\TEMP");   // 改变目录为C:\CODE\TEMP
getcwd(buffer, MAXPATH);
printf("The current directory is: %s\n", buffer);
第一个chdir()指令能改变目录到C:\CODE,而第二个chdir()指令无效,目录还是C:\CODE?
// ==========================================================================================================
2:如果当前目录在C:\CODE,并且已打开该目录下的一个文件A,同时又要在C:\CODE\TEMP目录里创建另一个文件B,那B
文件创建时该如何指定B文件的目录位置和文件名?
直接加在文件名前不行,如:C:\CODE\TEMP  fp_out = fopen("C:\CODE\TEMP\outfile.tmp","rb+");

// ==========================================================================================================
3:用读写方式打开一个二进制文件,要对文件的内容改写,但读一个字节(ch=fgetc(fp_in);)后文件指针会自动后移一个
字节,如何使指针回到原先的位置,或是不后移?
有无指令能直接读出该字节的内容后再改写该
沙发
Karlshen| | 2010-3-6 11:11 | 只看该作者
你用C:\CODE\TEMP,编译后的效果相当于C:CODETEMP,因此你的chdir("c:\code")是可以,但chdir("c:\code\temp")相当于chdir("c:codetemp"),当然不行了

使用特权

评论回复
板凳
yidou| | 2010-3-7 16:17 | 只看该作者
不明白:(

使用特权

评论回复
地板
huamunv| | 2010-3-9 08:38 | 只看该作者
要有两个\,如c:\\code\\temp

使用特权

评论回复
5
suoma| | 2010-3-9 19:02 | 只看该作者
fp_out = fopen("C:\\CODE\\TEMP\\outfile.tmp","rb+");
这样才对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

454

帖子

1

粉丝