Разбор txt в 2D-массив и преобразование float - PullRequest
0 голосов
/ 18 июня 2020
#include<string.h>
#define ROW 1000
#define COL 1000"

int main(){
   char* pend;
 FILE* fp = fopen("data.txt","r");
 if(fp == NULL){
   printf("File error");
   return 0;
 }
 else{

 float matris[1000][1000] ;
 char buffer[100];
 char* ptr1;
 char* ptr2;

 while(fgets(buffer,10000,fp)){
   //printf("aa");
   ptr1 = strtok(buffer,"\n");
   ptr2 = strtok(ptr1,",");

   while(ptr2!=NULL){
     printf("%s ",ptr2);
     ptr2=strtok(NULL,",");
     float f1 = strtof(ptr2, &pend); 
     float f2 = strtof(pend, NULL);
     matris[0][0] = f1[0];
     printf("%f",matris[0][0]);

   }
   //printf("%s",ptr2);
   printf("\n");
 }}
 return 0;
}

вывод printf ("% s", ptr2); состоит в том, что 5.1 3.5 1.4 0.2 0 (новая строка) 4.9 3.0 1.4 0.2 0 (новая строка) 4.7 3.2 1.3 0.2 0 (новая строка) 4.6 3.1 1.5 0.2 0

и txt файл 5.1,3.5,1.4, 0.2,0 (новая строка) 4.9,3.0,1.4,0.2,0 (новая строка) 4.7,3.2,1.3,0.2,0 (новая строка) 4.6,3.1,1.5,0.2,0

Я хочу поместите их в 2D-массив, например matris [0] [0] = 5.1 matris [0] [1] = 3.5 matris [1] [0] = 4.9 как число с плавающей запятой.

Что я могу сделать? Если вы знаете, можете ли вы реализовать это в моем коде?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...