如何在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/