行を含むテキストファイルがあり、すべての行に含まれる文字数は80文字以下です。すべての行には、コンマまたはスペースで分割された(1つ以上の単語)が含まれます。辞書編集で単語を並べ替える必要があります。文字列の記号「%s」でscanfを使用したいのですが、スペースのみが考慮されます。だから私はできないと思います。文字ごとに文字を取得するよりも、単語の構文解析を処理するためのよりスマートな方法はありますか?
これが私がやろうとしていたことのスケッチです:
char**arr;
arr=calloc(Size, sizeof(char)*80);
int m=0;
while (!feof(file)) {
char c=fgetc(file);
while (c!='/n') {
j=0;
char* current;
current=calloc(1,sizeof(char)*80);
while (c!=','&& c!=' ' && c!='/n') {
current[j]=c;
j++;
c=fgetc(c);
}
current[j]='\0';
arr[m]=current;
free(current);
}
}