その行がその形式のファイルがあります。
39.546147 19.849505 Name Last
何行あるのかわかりません。私が望むのは、テキストを1行ずつ読み取り、これら4つの要素のそれぞれを個別の変数に単純に保持することです。(その場合、2 つの float と 2 つの文字列 -char[] です。)
これまでの私のコードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE * file1;
file1 = fopen("args.txt","r");
float var0;
float var1;
char S1 [128];
char S2 [128];
int assignments;
if ( file1 != NULL ){
char line [ 256 ];
while ( fgets ( line, sizeof line, file1 ) != NULL ) //read a line
{
//printf("%s\n",line);
assignments = fscanf( file1, "%f %f %s %s",&var0, &var1, &S1, &S2 );
if( assignments < 4 ){
fprintf( stderr, "Oops: only %d fields read\n", assignments );
}
printf("%f --- %f ---- %s ---- %s \n",var0, var1,S1,S2);
}
fclose ( file1 );
}
else {
perror ( "args.txt" ); /* why didn't the file open? */
}
return 0;
}
私が得た結果は、1つの要素のみを読み取ったということです。それについて私を助けてもらえますか?
args.txt の例
39.546147 19.849505 george papad
39.502277 19.923813 nick perry
39.475508 19.934671 john derrick