Visual Studio には、printf または wprintf に関係なく、h プレフィックスを使用して 1 バイト文字列を指定すると、次のようなことができるという サイズと距離の仕様表があります。
int main()
{
char test[]= "abc";
_tprintf(_T("%hs\n"),test);
}
しかし、mingw gcc と -Wall を使用して同じものをコンパイルすると、次の警告が表示されます。
warning: format '%hs' expects type 'short int *', but argument 2 has type 'char *'
私が行っていることは、mingw で 1 バイト文字列を指定するために受け入れられる方法ですか?
ありがとう
編集-この質問は、以下でかなり詳細に回答されています。簡単な答えは「はい」です。これは mingw で 1 バイト文字列を指定するための受け入れ可能な方法であり、警告は無視できます。