字体
第(1/6)页
关灯
   存书签 书架管理 返回目录
    置指针向后移动一个字节。写入完毕,该指针已指向

    文件末。如要把文件从头读出,须把指针移向文件头,程序第 19 行 rewind 函数用于把 fp

    所指文件的内部位置指针移到文件头。第 20 至 25 行用于读出文件中的一行内容。

    【例 13.3】把命令行参数中的前一个文件名标识的文件,复制到后一个文件名标识的文件中,

    如命令行中只有一个文件名则把该文件写到标准输出文件(显示器)中。

    #include

    main(int argc,char *argv[])

    {

    FILE *fp1,*fp2;

    char ch;

    if(argc==1)

    {

    printf("have not enter file ncom strike any key exit");

    getch();

    exit(0);

    }

    if((fp1=fopen(argv[1],"rt"))==NULL)

    {

    printf("Cannot open %s\n",argv[1]);

    getch();

    exit(1);

    }

    if(argc==2) fp2=stdout;

    else if((fp2=fopen(argv[2],"wt+"))==NULL)

    {

    printf("Cannot open %s\n",argv[1]);

    getch();

    exit(1);

    }

    while((ch=fgetc(fp1))!=EOF)

    fputc(ch,fp2);

    fclose(fp1);

    fclose(fp2);

    }

    本程序为带参的 main 函数。程序中定义了两个文件指针 fp1 和 fp2,分别指向命令行参

    数中给出的文件。如命令行参数中没有给出文件名,则给出提示信息。程序第 18 行表示如果

    只给出一个文件名,则使 fp2 指向标准输出文件(即显示器)。程序第 25 行至 28 行用循环语

    句逐个读出文件 1 中的字符再送到文件 2 中。再次运行时,给出了一个文件名,故输出给标

    准输出文件 stdout,即在显示器上显示文件内容。第三次运行,给出了二个文件名,因此把

    string 中的内容读出,写入到 OK 之中。可用 DOS 命令 type 显示 OK 的内容。

    13.4.2 字符串读写函数 fgets 和 fputs

    1. 读字符串函数 fgets

    函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:

    fgets(字符数组名,n,文件指针);

    其中的 n 是一个正整数。表示从文件中读出的字符串不超过 n-1 个字符。在读入的最后

    一个字符后加上串结束标志'\0'。

    例如:

    fgets(str,n,fp);

    的意义是从 fp 所指的文件中读出 n-1 个字符送入字符数组 str 中。

    【例
上一章 目录 下一页