C语言的基本文件操作

C语言的基本文件操作

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


先来段代码看看

#include 
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 
#include 
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+”,嗯嗯。。。

你可能感兴趣的:(LAN7的神奇东西)