gpt4 book ai didi

c - 如何用 C 读取 .txt 文件并将数字存储到二维数组中

转载 作者:行者123 更新时间:2023-11-30 19:32:40 24 4
gpt4 key购买 nike

所以我的教授给我的 .txt 文件中有以下矩阵:

3.000000,1.000000,1180.000000,1955.000000,221900.000000
3.000000,2.250000,2570.000000,1951.000000,538000.000000
2.000000,1.000000,770.000000,1933.000000,180000.000000
4.000000,3.000000,1960.000000,1965.000000,604000.000000
3.000000,2.000000,1680.000000,1987.000000,510000.000000
4.000000,4.500000,5420.000000,2001.000000,1230000.000000
3.000000,2.250000,1715.000000,1995.000000,257500.000000
3.000000,1.500000,1060.000000,1963.000000,291850.000000
3.000000,1.000000,1780.000000,1960.000000,229500.000000
3.000000,2.500000,1890.000000,2003.000000,323000.000000

我想能够将每行中的前 4 个元素存储到一个 2D 数组中。但是,我似乎不知道如何对二维数组执行此操作。有什么建议么?

编辑:这是我到目前为止所拥有的:

int main(int argc, char *argv[]){
FILE *train;
FILE *test;
int row,cols;
int num = 0;
char single [150];
char single1 [150];
train = fopen(argv[1],"r");
test = fopen(argv[2],"r");
if(argc < 3){
printf("error\n");
return 0;
}
char *a = fgets(single,150,train);
int attributes = atoi(a);
char *b = fgets(single,150,train);
int examples = atoi(b);
printf("%d\n%d\n\n",attributes,examples);
int matX[attributes][examples];

for(row = 0; row < attributes;row++){
for(cols = 0; cols < examples;cols++){
matX[row][cols] = atoi(fgets(single,150,train));
}
}
printArray(row,cols,matX);

attributes 是我必须从每行存储的元素数量,examples 是矩阵中的行数。这种方法是否可行?

最佳答案

你可以尝试sscanf

char line ="3.000000,1.000000,1180.000000,1955.000000,221900.000000";
float v0, v1, v2, v3;
sscanf(line, "%f,%f,%f,%f", &v0, &v1, &v2, &v3);

关于c - 如何用 C 读取 .txt 文件并将数字存储到二维数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46822486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com