#include <stdio.h>
#include <string.h>
typedef struct arrays {
char air[28];
char water[28];
char land[28];
char c9[28];
char c11[28];
char c13[28];
}arr;
int main()
{
FILE* fp = fopen("ass6file.csv", "r");
if (!fp) {
printf("Can not open file");
return 0;
}
char buff[1024];
int row = 0;
int col = 0;
int i = 0;
arr value[999];
while (fgets(buff, 1024, fp)) {
col = 0;
row++;
if (row == 1)
continue;
char* column = strtok(buff, ",");
while (column) {
if (col == 1)
strcpy(value[i].air, column);
if (col == 2)
strcpy(value[i].water, column);
if (col == 3)
strcpy(value[i].land, column);
if (col == 4)
strcpy(value[i].c9, column);
if (col == 5)
strcpy(value[i].c11, column);
if (col == 6)
strcpy(value[i].c13, column);
column = strtok(NULL, ",");
col++;
}
i++;
}
fclose(fp);
int sum1[28];
/*char sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,k;
int var1,var2,var3,var4,var5,var6;
int m1,m2,m3,m4,m5,m6;
int s1=0,s2=0,s3=0,s4=0,s5=0,s6=0;*/
for (int k = 0; k < 28; k++)
sum1[k] = (int)value[k].air;
for (int k = 0; k < 28; k++)
printf("%d\n", sum1[k]);
return 0;
}
The warning I am getting is:
filh.c: In function ‘main’:
filh.c:62:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
62 | sum1[k]= (int)value[k].air;
|
I am new to C. Can anyone please help its printing big numbers that are not in the file?
like--
1966677344
1966677512
1966677680
1966677848
1966678016
1966678184
1966678352
1966678520
1966678688
1966678856
1966679024
1966679192
1966679360
1966679528
1966679696
1966679864
1966680032
1966680200
1966680368
1966680536
1966680704
1966680872
1966681040
1966681208
1966681376
1966681544
1966681712
1966681880