Strtok从文本文件中读取字符串

时间:2018-02-09 02:17:05

标签: c

我一直在尝试使用strtok从表中对字符串进行标记,但它无效。

文本文件中的表格具有此格式(仅作为示例),以制表符分隔

Jane Doe     iPhone 6     nj-34-k4-3j-jk

我想获得第三个元素,但它不起作用。 这就是函数的样子

scanf("%s", filename);

fp2 = fopen(filename,"r");

if (fp2 == NULL){                                               
    printf("Error reading File \n");
    exit(1);                                                    
}

//while reading a line, keep getting tokens (a line)
while ( fgets ( str, sizeof(str), fp2 ) != NULL )               
{ 
    token = strtok(str,"    ");
    token = strtok(NULL,"   ");
    token = strtok(NULL,"   ");

    if(index>0){                                                
        strupr(token);                                          
        strcpy(address[index-1], token); //store in array                   
    }       

    index++;                                                    
}

1 个答案:

答案 0 :(得分:2)

使用标签按标签拆分。

token = strtok(str,"\t");
token = strtok(NULL,"\t");
token = strtok(NULL,"\t");