[疑难问答] 关于C语言的文件操作的几个问题

[复制链接]
2813|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
suoma 发表于 2010-3-9 19:02 | 显示全部楼层
fp_out = fopen("C:\\CODE\\TEMP\\outfile.tmp","rb+");
这样才对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

454

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
0