問題: scanf を使用して、| で区切られたフィールドを持つ文を読み取ろうとしています。、したがって、当然、scanfの自然な機能を使用してこのシンボルを無視しますが、|を持つものもすべて無視します 初期化。
単純化されたコード:
int main(){
char* a=malloc(8);
char* b=malloc(8);
scanf("%s | %s",a,b);
printf("%s %s",a,b);
}
入力を試みると:
テスト | 自分
意図したとおりに動作しますが、次の場合があります。
私をテスト|
自然にテストを読み取りますが、ME | を無視します。これを回避する方法はありますか?