c读写文件

#include<stdio.h>

void main(void)
{
    // locate
    char filename[20];
    scanf("%s", filename);
    getchar();    // input a key "Enter('
')"

    // open
    FILE *fp;
    fp = fopen(filename, "w");
    if(fp != NULL)
        printf("fopen: success
");
    else
        printf("fopen: error
");

    // operate
    char c;

    printf("input:
");
    while((c = getchar()) != EOF)
        fputc(c , fp);

    // close
    if(fclose(fp) == 0)
        printf("fclose: success
");
    else
        printf("fclose: error
");
}
#include<stdio.h>

void main(void)
{
    // locate
    char filename[20];
    scanf("%s", filename);
    getchar();    // input a key "Enter('
')"

    // open
    FILE *fp;
    fp = fopen(filename, "w");

    // operate
    char c;

    while((c = getchar()) != EOF)
        fputc(c , fp);

    // close
    if(fclose(fp) == 0)
        printf("fclose: success
");
    else
        printf("fclose: error
");
}
#include<stdio.h>

void main(void)
{
    // flocate
    char filename[20];
    gets(filename);

    // fopen
    FILE *fp;
    fp = fopen(filename, "w");

    // foperate
    char c;

    while((c = getchar()) != EOF)
        fputc(c , fp);

    // fclose
    fclose(fp);
}

gets(filename): 不需要再读掉一个空格,该函数本身是以多读一个' '作为结束标识的

scanf("%s", filename): 需要再读掉一个空格

原文地址:https://www.cnblogs.com/xkxf/p/6201403.html