您的位置:首页 > 编程语言 > C语言/C++

C语言的基本文件操作

2017-01-02 18:56 190 查看

C语言的基本文件操作

序列1:基本的txt文件读入读出

先来段代码看看

#include <stdio.h>
int main()
{
char a[] = "hellow\n";
char buf[6];
FILE *fp = NULL;
fp = fopen("C:\\123.txt","w+");//让fp指向G盘下的123.txt,w+意为若不存在构建一个

if(fp!=NULL)
{
printf("OK\n");
//fputs(a,fp);//写入一行字符串
fgets(buf,6,fp);//一次读一行
}
printf("%s",buf);
fclose(fp);
}


这是最为基本的几行读入读出代码,我们分解开瞧瞧

FILE *fp =NULL;


这一句就是定义一个指针,后面用来指向你的所操作的文件,文件操作都要用到指针,所以说呢,指针十分重要!!!

fp = fopen("C:\\123.txt","w+");


可以看出,这一句就是将这个指针指向你所要操作的文件的绝对路径C:\123.txt,如果C盘中没有这个所谓的123.txt,没关系,“w+”,意为将创建这个文件

if(fp!=NULL)
{
printf("OK\n");
//fputs(a,fp);//写入一行字符串
fgets(buf,6,fp);//一次读一行
}


fp!=NULL就表明这个文件已成功打开或者建立,dos面板上有提示“OK”,然后就向里面录入字符,fputs函数的参数是字符串的首地址,这样就把一个字符串录进去了,fgets呢,意为把这一行都读进去,当然,你也可以给它设置长度,比如我的这个,就读到第六号位。

当然最后一行代码:

fclose(fp);


就是将这个文件关闭,就像使用这个文件呢,用完录就要关上

为用户着想

像上面这个小程序,只是你已经把录入的文件地址固定好了,但是无法让用户们把字符录入到他们想录入的地址中去,其实呢,这也是非常简单的,记住,没有什么事情是几行代码解决不了的,如果有,就在来几行

#include <stdio.h>
#include <string.h>
int main()
{
char a[] = "hellow\n";
char b[100];
gets(b);
char buf[6];
FILE *fp = NULL;
fp = fopen(b,"w+");//b即为用户输入的那个路径

if(fp!=NULL) { printf("OK\n"); //fputs(a,fp);//写入一行字符串 fgets(buf,6,fp);//一次读一行 }
printf("%s",buf);
fclose(fp);
}


就是非常简单的一个字符串的录入,把用户想录入的路径用字符串存起来,那么,再把这个数组丢到fopen里当实参就好啦

储存

当你多次运行该程序时,你会发现,每次它都是把这个文件清空,然后。。。。。。。重新把你的那些东西录进去,所以呢。。。我们也可以改一下,对,就一下,让它变为继续录入,而不会把之前的覆盖,很简单,就是把“w+”改为“a+”,嗯嗯。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言