次のような外部マシン (常に 4 行) から 10 秒ごとにいくつかのデータを受け取ります。
Yesterday match:
Player_1:(P=31,Reb=12)
Yesterday match:
Player_2:(P=12,Reb=2)
データを読み取る次のコードがあります(シリアルポート機能も開いて構成しています):
int learn_data(int fd)
{
int n,i;
char buff[200];
memset(buff, 0, sizeof(buff));
char* ptr;
FILE *fp=fdopen(fd,"r");
while(fgets(buff, sizeof(buff), fp) != NULL)
{
printf("%s", buff);
}
}
このコードでは、fgets はバッファを 1 行ずつ読み取ります。ここで私の質問は、strtok を使用してポイントとリバウンド (31,12)、(12,2) などの値を取得するにはどうすればよいですか? 1 行目と 3 行目をエスケープするにはどうすればよいですか?