このようなデータを含むファイルがあります
{0 /Data1/ , 0x00, 0, 0xFF},
{1 /data2/ , 0x00, 0, 0xFF},
{2 /data3/ , 0x00, 0, 0xFF},
{3 /data4/ , 0x00, 0, 0xFF}, ...
各行の 2 列目だけを印刷したい。以下は私が取り組んだコードです。
#include<stdio.h>
#include<string.h>
int main ()
{
char filename[] = "file.txt";
FILE *file = fopen(filename, "r");
if(file!= NULL)
{
char line[128];
char * word1;
char word2;
char word3;
int i=0;
clrscr();
while ( fgets( line, sizeof line, file)!= NULL)
{
i=0;
word1 = strtok(line, " ,");
while(word1!= NULL)
{
i++;
if(i==2 ){
printf("%s\n",word1);
}
word1 = strtok(NULL," ,");
}
}
fclose(file);
}
else
{
perror(filename);
}
getch();
return 0;
}
それは正常に動作します。各行に印刷されている値を配列に保存できますか? 私はこのようなことを試しました
if(i==2){
word2 = * (word1);
}
printf("%s\n",word1);
しかし、それは私にヌルポインタの割り当てを与えます。印刷する値を配列に格納する方法は?