从c中的txt中检索文本

时间:2016-04-15 17:02:34

标签: c

所以我有这个txt文件,我想在c中得到我的应用程序,我必须得到()符号之间的数字我如何实现这一点。

(2)
(3,3)
(5,4)
(3)

到目前为止,我的代码如下:

char[] readFile(){
    FILE  *fileToRead;
    fileToRead = open ("coordinates.txt", "r");

    int coodinate[2];

    Movimento movements; // this is where I put the coordinates

    int i=0;
    do{
        fgets(coordinate[0], "%d", fileToRead);
        fgets(coordinate[1], "%d", fileToRead);
    }while (feof(fileToRead) == 0);

    fclose(fileToRead);
    return movements;
}

1 个答案:

答案 0 :(得分:1)

您的fopenopenfscanffgets混淆。 使用fgets逐行读取文件,然后解析每一行并获取坐标。你可以使用isdigit()。 你可以有类似的东西:

FILE  *fileToRead;
char s[100] = "";
int coordinate[2] = {0};
int i=0, j = 0;

if((fileToRead = fopen ("t.txt", "r")))
{
    while(fgets(s, 100, fileToRead))
    {
        puts(s);
        for(i = 0; s[i] != '\0'; i++)
        {
            if(isdigit(s[i]))
            {
                coordinate[j] = s[i] - '0';
                j++;
            }
        }
        j = 0;
        printf("%d %d\n", coordinate[0], coordinate[1]);
    }
}

fclose(fileToRead);