組み込みでCを使っています。
c
1UCHAR send_buffer[BUF_SIZE]; 2 3sprintf((CHAR*)send_buffer, "%s\n", HOGE);
UCHARはunsigned charで、CHARはcharとしてtypedefされています。
上記のコードで、(CHAR*)によるキャストを行わないと、
pointer targets in passing argument 1 of 'sprintf' differ in signedness
といったwarningが出てきます。
warningが煩わしいのでキャストしたいのですが、これによる問題としてどんなことが考えられるでしょうか? あるいは特に問題はないですか?
send_bufferの型をCHARにすればよいのですが、使用しているライブラリの都合の関係で、そうはできない状態です。
よろしくお願いします。
【追記】
charはsigned charです。
【追記2】
皆様回答有り難うございました。
(UCHAR*)から(CHAR*)にキャストしても内部表現のビット列は変化しないため、大丈夫だろうという判断をいたしました。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。