如何在C中将文件拆分为两个双精度数组。我有X和Y位置保存在文件txt中,例如:

X
3
5
7
12
Y
2
4
5


实际上,我有找到“ Y”行位置的代码,但我不知道如何在“ Y”后保存数字。

while(fgets(temp, 512, plik) !=NULL) {
            if((strstr(temp,"Y"))!=NULL) {
                printf("A match found on line %d\n", line_num);
                positionY = line_num;
                printf("\n%s\n", temp);
                find_result++;
            }
            line_num++;
        }
        if(find_result == 0) {
            printf("dont find");
        }


我的第二个问题是如何保留X并将数字保存到“ Y”
我有tabX和tabY保存数字,并且它们是动态分配的。

最佳答案

x.txt

X
1
2
3
Y
4
5
6


foo.cpp

#include <stdio.h>
#include <string.h>

int main()
{
        FILE *fp = fopen("x.txt", "r");
        int insertInX = 0, insertInY = 0;
        char buf[512] = "";
        if(!fp)
                return -1;
        while(fgets(buf, 511, fp) != NULL)
        {
                if(strncmp(buf, "X", 1) == 0)
                {
                        insertInX = 1;
                        //insertInY = 0;
                        continue;
                }
                if(strncmp(buf, "Y", 1) == 0)
                {
                        insertInY = 1;
                        //insertInX = 0;
                        continue;
                }
                if(insertInY)
                {
                        //Add to Y
                        printf("In Y : %s\n", buf);
                        continue;
                }
                if(insertInX)
                {
                        //Add to X
                        printf("In X : %s\n", buf);
                        //continue;
                }
        }
        return 0;
}


输出:

In X : 1

In X : 2

In X : 3

In Y : 4

In Y : 5

In Y : 6

关于c - 在C中将文件(txt)拆分为双数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26888905/

10-16 17:25
查看更多