私は現在、C++ で何十回も実行したことを実行しようとしていますが、C で実行するのはこれが初めてです。
3 列の巨大なテキスト ファイルがあります: hexNumber unsignedChar int
adam 38 1
john 39 1
sara 3a 1
frank 3b 0
Christopher 3c 0
kate 3d 0
ただし、先ほど言ったように、ファイルは巨大で、その間の空白は何らかの理由で異なります。わかりません、ファイルを作成していません。私が理解しているように、 fscanf は空白で区切られているので、いくらでも大丈夫ですよね?
私はそれを構造体の配列に読み込もうとしています。これが私のコードです:
typedef struct node {
unsigned char myHex;
char* myString;
int myInt;
} node;
void foo(bar* c){
if( c == NULL )
return;
struct node nArr[205] ;
//read in opcode information
FILE *fp;
fp = fopen( "input.txt" , "r" );
if ( fp == NULL ) {
fprintf( stderr, "Can't open input file file.txt!\n");
exit(-1);
}
int it = 0;
while( !feof( fp ) ){
fscanf( fp , "%s%s%d\n" , nArr[it].myString ,
&nArr[it].myHex , &nArr[it].myInt );
}
...
ただし、それを読むと、空白があふれてしまいます。プリントアウトショー:
myHex:
myInt: 0
myString: (null)