怎么做,主要想知道怎么从文件中读取数据,希望可以帮我写一下这个完整的程序

img


想知道怎么从文件中读取信息,可以将这个全部程序写一下嘛,从txt中查找对比也不会

这个文件中每个城市一行,所以逐行读取就可以了

img

代码:

#include <stdio.h>
#include <string.h>
void sort(char city[][40],int n)
{
    int i,j;
    char tmp[40];
    for(i=0;i<n-1;i++)
    {
        for(j=0;j<n-1-i;j++)
        {
            if(strcmp(city[j],city[j+1]) > 0)
            {
                strcpy(tmp,city[j]);
                strcpy(city[j],city[j+1]);
                strcpy(city[j+1],tmp);
            }
        }
    }
}

int main()
{
    FILE * fp = 0;
    int i=0,n=0;
    char city[10][40]={0},tmp[40]={0};
    fp = fopen("city.txt","r");
    if(fp == 0)
    {
        printf("文件打开失败\n");
        return 0;
    }
    for(n=0;n<10 && (!feof(fp));n++)
    {
        fgets(city[n],40,fp);
        if(city[n][strlen(city[n])-1] =='\n')
            city[n][strlen(city[n])-1] = 0; //忽略掉回车符
    }
    fclose(fp);
    //排序
    sort(city,n);
    printf("排序后:\n");
    for(i=0;i<n;i++)
        printf("%s\n",city[i]);
    //
    printf("请输入要查找的城市:");
    scanf("%s",tmp);
    for(i=0;i<n;i++)
    {
        if(strcmp(city[i],tmp)==0)
        {
            printf("查到这个城市!\n");
            break;
        }
    }
    if(i==n)
        printf("没有知道这个城市!\n");
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632