有一个data.txt文件,其中存放了100个无序字母,编程将文件中字母读入到一字符数组中,并对字母进行输出。

总结:不能同时输入输出,这样会导致文件空白;先结束掉一个流,再开始一个流,内容才显示得出来

字符串输入输出:

/*
有一个data.txt文件,其中存放了100个无序字母,编程将文件中字母读入到一字符数组中,并对字母进行输出。
int a = rand() % 10;    //产生0~9的随机数,注意10会被整除
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    FILE *fpw,*fpr;
    fpw=fopen("d:\\test.txt","w");
    fpr=fopen("d:\\test.txt","r");
    if(fpw==NULL||fpr==NULL){
        printf("error");
        return 0;
    }
    char st[26]={'q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x','c','v','b','n','m'};
    char string1[100],string2[100];
    int i,k=0;
    while(k<100){
        i=rand()%26;
        string1[k]=st[i];
        k++;
    }
    string1[k]='\0';
    fprintf(fpw,"%s",string1);
    fclose(fpw);

    fscanf(fpr,"%s",string2);
    puts(string2);
    fclose(fpr);
    return 0;
}

字符输入,字符串输出:

/*
有一个data.txt文件,其中存放了100个无序字母,编程将文件中字母读入到一字符数组中,并对字母进行输出。
int a = rand() % 10;    //产生0~9的随机数,注意10会被整除
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    FILE *fpw,*fpr;
    fpw=fopen("d:\\test.txt","w");
    fpr=fopen("d:\\test.txt","r");
    if(fpw==NULL||fpr==NULL){
        printf("error");
        return 0;
    }
    char st[26]={'q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x','c','v','b','n','m'};
    char string1[100],string2[100];
    int i,k=0;
    while(k<100){
        i=rand()%26;
        fprintf(fpw,"%c",st[i]);
        k++;
    }
    fclose(fpw);

    fscanf(fpr,"%s",string2);
    puts(string2);
    fclose(fpr);
    return 0;
}

 

posted @ 2019-12-05 20:01  dreamy_java  阅读(442)  评论(0编辑  收藏  举报