文件函数的简单介绍

1.  向文件中写入一个字符  fputc  

    int_Ch指的是输入文件中的字符 (int)的原因是以ascll码值的型式输入

#include
#include
#include
int main()
{
    FILE* pf = fopen("test.txt","w");
    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fputc('a',pf);
    fclose(pf);
    pf = NULL;
    return 0;
}

2.  向文件中写入一串字符串 fputs     

const char*_Str指的是字符串的首元素地址

3.  向文件中以格式化写入  fprintf    

可以和printf类似

#include
#include
#include
int main()
{
    FILE* pf = fopen("test.txt","w");
    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fprintf(pf,"%s %d","abcdef",4);
    fclose(pf);
    pf = NULL;
    return 0;
}

4.  对应输出一个字符串 fgetc   

注意准确获取的是ascll值  

#include
#include
#include
int main()
{
    int ch = 0;
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    ch = fgetc(pf);    如果以后需要使用可以强制类型化(char)ch
    fclose(pf);
    pf = NULL;
    return 0;
}

5. 获取一串字符串 fgets   

注意MaxCount

文件中的内容:文件函数的简单介绍_第1张图片

#include
#include
#include
int main()
{
    char ch[20] = { '\0' };
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fgets(ch,3,pf);
    printf("%s\n",ch);
    fclose(pf);
    pf = NULL;
    return 0;
}

结果是:

文件函数的简单介绍_第2张图片

原因是默认字符串以 ‘\0' 结束 所以只能获取2个字符

6. fscanf     

#include
#include
#include
int main()
{
    char arr[20] = { '\0' };
    FILE* pf = fopen("test.txt","r");

    if( pf == NULL )
    {
        printf("%s\n",strerror(errno));
        return 1;
    }
    fscanf(pf,"%s",arr);   注意如果是整数 小数  单个字符串 需要取地址&
    printf("%s\n",arr);
    fclose(pf);
    pf = NULL;
    return 0;
}

文件函数的简单介绍_第3张图片

你可能感兴趣的:(算法,linux,运维)