从文件中读取分号分隔的字符串

use*_*862 0 c string file

如何阅读 ";" 从c中的文件中分离出字符串?我使用以下方法:

char c;
c=fgetc(fp);
while(c!=EOF)
{
    int k=0;
    if(c=='\n')
    c=fgetc(fp);
    while(c!=';')
    {
        str1[k]=c;
        k++;
        c=fgetc(fp);
    }
    str1[k]='\0';
    c=fgetc(fp);
    k=0;
    while(c!=EOF && c!='\n')
    {
        str2[k]=c;
        k++;
        c=fgetc(fp);
    }
    str2[k]='\0';
    Seq(str1,str2);
    printf("\n");
    if(c==EOF)
    {
        break;
    }
    else
    c=fgetc(fp);
}
Run Code Online (Sandbox Code Playgroud)

输入文件:

     Hello;world

     Male;Female

     where;who
Run Code Online (Sandbox Code Playgroud)

我必须读取不同的字符串值,然后将它们传递给Seq(hello,world)等函数.依此类推

有更好的方法吗?

Jim*_*ter 5

更好的方法是从文件中读取行,然后使用strchr,strpbrk,strcspn,strtok,sscanf,或其他库函数,找到";的.