私は自分のプログラムに入力として渡しています:"<param value=s/>"
私はこのコードを使用します:
char character[1];
sscanf(data, "<param value=%c/>", &character);
printf("%c", character);
ただし、出力は「s」文字だけではなく「s/>」のようです。ここで何が問題なのですか?
あなたのコードは正しいですが、出力する必要がありますcharacter[0]
:
printf("%c", character[0]);
の前にアドレス演算子をドロップする必要がありますがcharacter
、sscanf()
タイプの引数ではchar *
なくchar (*)[1]
:
sscanf(data, "<param value=%c/>", character);
char character[1]
に置き換えることができchar character
、同時にバグを修正できます。
character
配列として保持する場合は、 &character[0]
orcharacter
をsscanf
引数として、および引数character[0]
として使用する必要がありprintf
ます。