鱼C论坛

 找回密码
 立即注册
查看: 1169|回复: 2

[已解决]c语言问题

[复制链接]
发表于 2019-12-13 13:08:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我都去一个txt格式的文件里面有
1.chinese 2.Czech Republic 3.Cuba 4.Democratic People's Republic of Korea
一些国家的名字,我要怎么样才能读取这个txt时把这些国家放到一个数组里
就像chinese就是country[0],Czech Republic就是country[1]这样,因为他中间有空格我不知道要怎么弄了
最佳答案
2019-12-13 14:22:32
参考上下文,当然,如果你txt文件时这样的
chinese Czech Republic Cuba Democratic People's Republic of Korea
那么没法判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-12-13 14:22:32 | 显示全部楼层    本楼为最佳答案   
参考上下文,当然,如果你txt文件时这样的
chinese Czech Republic Cuba Democratic People's Republic of Korea
那么没法判断
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-12-13 15:46:17 | 显示全部楼层
如果txt是你写的这样的
1.chinese 2.Czech Republic 3.Cuba 4.Democratic People's Republic of Korea

给个参考
#include <stdio.h>
#include <string.h>

#define __Out__
#define N 255

int GetCountryNameFromFile(const char* path,char __Out__ (*names)[N]){
        FILE* fp=fopen(path,"r");
        
        int i=0;
        char *p=names[i];

        while (fscanf(fp,"%s",p)!=EOF){
                int c_digit=-1;
                while (isdigit(p[++c_digit]));
                int length=strlen(p);
                
                if (c_digit==0){
                        p[-1]=' ';
                }
                else{
                        strcpy(names[i++],p+c_digit+1);
                        length-=c_digit+1;
                        p=names[i-1];
                }
                p+=length+1;
        }
        
        fclose(fp);
        return i;
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 03:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表