首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文件中查找非重复字符串

如何在文件中查找非重复字符串
EN

Stack Overflow用户
提问于 2017-08-28 13:48:08
回答 2查看 117关注 0票数 2

我有一个问题,我需要找到代码如何出现在一个文件中。问题是,在这个文件中,代码可能出现不止一次,而我只需要考虑一次。

我尝试编写一个函数来计算代码在文件中的位置(丢弃重复的代码):

代码语言:javascript
复制
int calcolo (struct sistema *sis,int l) {
    char nome[l][6];
    int i=2,a=1,h;


    strcpy(nome[1],sis[1].codice);
    h=1;

    while(i<l) {
        for(a=1;a<=h;a++) {
            if(strcmp(nome[a],sis[i].codice)==0) {
                i++;    
                break;
            }   
        }

        h++;
        strcpy(nome[h],sis[i].codice);
        i++;    

    }
    return h;
}

输入文件是:

代码语言:javascript
复制
2015-03-03 07:01 X100 8.1
2015-03-04 08:02 X100 15.2
2015-03-18 13:15 X100 31.9
2015-08-02 13:10 B209 32.0
2015-08-15 12:01 B209 35.4
2016-01-02 10:44 A101 8.1
2016-02-02 15:41 X100 13.2

我不知道如何“绕过”第二部分的时间,如果我没有识别任何重复的字符串。结果是3表示树代码(X100 B209 A101),但我收到了5,为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-29 07:45:50

我找到了一个答案,我知道这不是一个更好的使用goto的方法,但是我需要跳过代码的第二部分,我已经“解决了”它:

代码语言:javascript
复制
int calcolo (struct sistema *sis,int l) {
    char nome[l][6];
    int i=2,a=1,h;


    strcpy(nome[1],sis[1].codice);
    h=1;

    BACK:   
         while(i<l) {
             for(a=1;a<=h;a++) {
                 if(strcmp(nome[a],sis[i].codice)==0) {
                     i++;
                     goto BACK; 
                 }  
             }
             h++;
             strcpy(nome[h],sis[i].codice);
             i++;   

         }
    return h;
}

产出:已获得3-预期3

我宁愿不使用后藤,如果有人有其他解决办法,让我知道,谢谢大家。

票数 0
EN

Stack Overflow用户

发布于 2017-08-29 09:18:27

将每一个新字符串放入一组。然后你就这样用:

代码语言:javascript
复制
set<string, FOO>::iterator it = set.find("X100");  
if(it != set.end()) // if "X100" was not found
        ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45920613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档