前提・実現したいこと
通信の課題です。
読み込んだ10進数の数字文字列を2進数で表した数値8桁に変換しサーバに送信する。
2進数は上位ビットを0でパディングする。
int型をchar型の配列に格納し、sprintfで送るメッセージを完成させたいです。
発生している問題・エラーメッセージ
passing argument 1 of sprintf makes pointer from integer without a cast
該当のソースコード
char binary[8]; read( soc, buf, 1024 );//char型配列で送られてきた数字 x = atoi(buf);//int型に変換し整数値にする //2進数に変換する処理 for( i=0; i<8; i++){ sprintf( binary[i],"%d", x%mypow(2,i+1)/mypow(2,i));//ここでエラー } sprintf(buf,"RESULT %s",binary); int mypow(int base,int index){//指数の計算 int result,i; for( i=0; i<=index; i++ ){ if( i == 0) result = 1; else result = base*result; } return result; }
試したこと
(char)でキャストしたがエラーは回避されなかった。
また、2進数16を整数値のようにint型で1111とあらわそうと考えたが、意味が違ってくると思い作るのをやめました。
補足情報(FW/ツールのバージョンなど)
VirtualBox
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/12 12:17
2020/07/12 12:26
2020/07/12 12:37