打开文件和保存数据到指定文件的函数怎么使用?
比如输入一些数据到指定的文件,然后打开这个文件查看或者修改,应该怎么做,麻烦给出这个函数的使用方法,详细点,好的加分
能不能给个详细地址啊,你那个谷歌,我都不知道点哪个链接
ããcè¯è¨æ ååºä¸ç¨äºæå¼æ件çå½æ°æ¯fopen()ã
ããå½æ°ååï¼FILE * fopen(const char * path,const char * mode);
ã åæ°è¯´æï¼pathææè¦æå¼çæ件åï¼modeææ以ä»ä¹æ¹å¼æå¼ã详ç»å¨ä¸é¢ä»ç»ã
ããè¿åå¼ï¼æ件顺å©æå¼åï¼æå该æµçæ件æéå°±ä¼è¢«è¿åãå¦ææ件æå¼å¤±è´¥åè¿åNULLï¼å¹¶æé误代ç åå¨errno ä¸ã示ä¾å¦ä¸
#include<stdio.h>//æ ¹æ®éè¦ä¿®æ¹æèªå·±è¦æå¼çæ件å³å¯ã
#define F_PATH "d:\\myfile\\file.dat"
int main(void)
{
FILE *fp=NULL;//éè¦æ³¨æ
fp=fopen(F_PATH,"r"); //以åªè¯»æ¹å¼æå¼ä¸ä¸ªæ件
if(NULL==fp)
{
return -1;//è¦è¿åé误代ç
}
fclose(fp); //æå¼ä¸ä¸ªæ件åæ¢æä½åï¼è¦å ³éæå¼çæ件
fp=NULL;//éè¦æå空ï¼å¦åä¼æååæå¼æ件å°å
return 0;
}
ããåæ°modeçç±»åï¼
ããr 以åªè¯»æ¹å¼æå¼æ件ï¼è¯¥æä»¶å¿ é¡»åå¨ã
ããr+ 以å¯è¯»åæ¹å¼æå¼æ件ï¼è¯¥æä»¶å¿ é¡»åå¨ã
ããrb+ 读åæå¼ä¸ä¸ªäºè¿å¶æ件ï¼å 许读åæ°æ®ï¼æä»¶å¿ é¡»åå¨ã
ããw æå¼åªåæ件ï¼è¥æ件åå¨åæ件é¿åº¦æ¸ 为0ï¼å³è¯¥æ件å 容ä¼æ¶å¤±ãè¥æ件ä¸åå¨å建ç«è¯¥æ件ã
ããw+ æå¼å¯è¯»åæ件ï¼è¥æ件åå¨åæ件é¿åº¦æ¸ 为é¶ï¼å³è¯¥æ件å 容ä¼æ¶å¤±ãè¥æ件ä¸åå¨å建ç«è¯¥æ件ã
ããa 以éå çæ¹å¼æå¼åªåæ件ãè¥æ件ä¸åå¨ï¼åä¼å»ºç«è¯¥æ件ï¼å¦ææ件åå¨ï¼åå ¥çæ°æ®ä¼è¢«å å°æ件尾ï¼å³æ件åå çå 容ä¼è¢«ä¿çãï¼EOF符ä¿çï¼
ããa+ 以éå æ¹å¼æå¼å¯è¯»åçæ件ãè¥æ件ä¸åå¨ï¼åä¼å»ºç«è¯¥æ件ï¼å¦ææ件åå¨ï¼åå ¥çæ°æ®ä¼è¢«å å°æ件尾åï¼å³æ件åå çå 容ä¼è¢«ä¿çã ï¼åæ¥çEOF符ä¸ä¿çï¼
ããwb åªåæå¼ææ°å»ºä¸ä¸ªäºè¿å¶æ件ï¼åªå 许åæ°æ®ã
ããwb+ 读åæå¼æ建ç«ä¸ä¸ªäºè¿å¶æ件ï¼å 许读ååã
ããab+ 读åæå¼ä¸ä¸ªäºè¿å¶æ件ï¼å 许读æå¨æ件æ«è¿½å æ°æ®ã
第13章讲得非常详细,我想网上没有人能够比它讲得更好了吧?
fwrite,fread,这是常用的文件操作函数,用百度百科搜这几个名字,可以查看倒详细的函数声明及用法。下面是我刚写的一个把一个文件保存到另一个文件的程序(不保存最后一个字节),里面用到了几个函数,你可以看看
#include<stdio.h>
int main()
{ FILE *fp1,*fp2;
long int len;
fp1=fopen("name1","rb+"); //name1为原来的文件,例如f:\\a.txt
fp2=fopen("name2","wb+"); //name2为你保存的文件,例如f:\\b.txt
fseek(fp1,0,2); //将指针移到文件结尾
len=ftell(fp1); //得到文件长度
rewind(fp1); //文件指着回到文件头
char c;
for(long int i=0;i<len-1;i++)
{ c=fgetc(fp1); //从fp1文件中读取一个字节
fputc(c,fp2); //把这个字节打印倒fp2
}
fclose(fp1); //关闭文件fp1
fclose(fp2); //关闭文件fp2
}本回答被提问者采纳