文字列でファイルを取得しているので、空白/改行になるたびに各文字列をトークン化します。区切り文字列にトークンを区切りますが、配列にコピーすることはできません。Cプログラミング配列の大きなレベル
int lexer(FILE* file){
char line[50];
char* delim;
int i = 0;
int* intptr = &i;
while(fgets(line,sizeof(line),file)){
printf("%s\n", line);
if(is_empty(line) == 1)
continue;
delim = strtok(line," ");
if(delim == NULL)
printf("%s\n", "ERROR");
while(delim != NULL){
if(delim[0] == '\n'){
//rintf("%s\n", "olala");
break;
}
tokenArray[*intptr] = delim;
printf("Token IN array: %s\n", tokenArray[*intptr]);
*intptr = *intptr + 1;
delim = strtok(NULL, " ");
}
私はこれを実行する場合、私は出力を得る:
トークンに配列:012
トークン内の配列:23ddd
トークン内の配列:配列にvs32
トークン:、344
トークンIN配列:0sdf
私のテキストファイルに従って正しいですが、私は、同じ機能でかつ*intptr = *intptr + 1;
delim = strtok(NULL, " ");
}
}
printf("%s\n", tokenArray[3]);
fclose(file);
return 0;
から後で配列を再印刷しようとすると、私は出力を得るいけない
は、私は、すべての内容を書いてみました配列をtxtファイルに変換すると、私は気が散った。私は何をするべきかわからないplzヘルプ