注册 登录
编程论坛 C语言论坛

将单词输入到文本文件中并显示(c语言)

蒹葭1 发布于 2020-04-08 18:16, 2713 次点击
从键盘输入10个英文单词到二维字符数组中,并保存到文本文件中(单词间以空格分隔,然后再从该文件中读出所有单词并显示到屏幕。
5 回复
#2
lin51616782020-04-08 18:36
所以呢 你什么不会?
输入不会?
保存到文件不会?
读取不会?
显示不会?
#3
吹水佬2020-04-08 20:26
抄应该会的
字符串的输入、保存到文件、从文件里取出来这些论坛都有不少。
#4
hbccc2020-04-08 20:53
文件的输入输出还很生疏
#5
蒹葭12020-04-08 21:08
回复 2楼 lin5161678
我写的代码输入完就有问题没办法运行下去了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 10

void main(void)
{
    FILE  *fp;
    char a[N][80],j=0;
    int i;
      
    if((fp = fopen("a.txt", "w")) == NULL){
        printf("Can't Open File!");
        exit(0);
    }

    printf("请输入%d个以空格分隔的单词:\n",N);

    for(i=0;i<N;i++){
        do{
            scanf("%s",&a[i][j]);
            j++;
        }while(a[i][j]!='\n');
    }
    j=0;
    if(!feof(fp)){
        for(i=0;i<N;i++){
            do{
                fprintf(fp,"%s",a[i][j]);
                j++;
                }while(a[i][j]!='\n');
            }
        }

    fclose(fp);   


    if((fp = fopen("a.txt", "r")) == NULL){
        printf("Can't Open File!");
        exit(0);
    }
    printf("显示文件中的单词:\n");

    j=0;
    while(!feof(fp)){
        for(i=0;i<=N;i++)
            do{
                i=fscanf(fp,"%s",&a[i][j]);
                if(i==EOF)break;
                printf("%s \n",a[i][j]);
                j++;
            }while(a[i][j]!='\n');
    }

    fclose(fp);
}
#6
fulltimelink2020-04-08 22:25
程序代码:
#include <stdio.h>
#include <stdlib.h>
#define N 2

void main(void)
{
    FILE  *fp;
    char a[N][80]={};
    int i;

    if((fp = fopen("a.txt", "w")) == NULL){
        printf("Can't Open File!");
        exit(0);
    }

    printf("请输入%d个以空格分隔的单词:\n",N);

    for(i=0;i<N;i++){
        scanf("%s",&a[i]);
    }


    if(!feof(fp)){
        for(i=0;i<N;i++){

            fprintf(fp,"%s\n",a[i]);


        }
    }

    fclose(fp);


    if((fp = fopen("a.txt", "r")) == NULL){
        printf("Can't Open File!");
        exit(0);
    }
    printf("显示文件中的单词:\n");

    if(!feof(fp)) {
        for (i = 0; i <= N; i++) {

            if (EOF == fscanf(fp, "%s", &a[i])) break;
            printf("%s \n", a[i]);
        }
    }

    fclose(fp);
}

1