現在selctコールを利用したソケットプログラミングの勉強をしていて、複数人チャットの実装をしています。
送信用のBuf配列にメッセージとともに、ユーザIDごとに文字色を変更したいと考えているのですが、以下のようにユーザIDで条件分岐したようなコードを書いたのですが、全てcase 0の色が出力されてしまいます。
(ここでは3人チャットを想定しています)
どうにかcaseごとに文字色に格納する色を変更する方法はないでしょうか??
c
1 // ユーザごとにメッセージの色を変える 2 switch (msg_sender_client) { 3 case 0: 4 len = snprintf(Buf, BUFLEN, "\x1b[34m <message from Mr.%s> %s \033[m\n", 5 Client[msg_sender_client].name, msg); 6 case 1: 7 len = snprintf(Buf, BUFLEN, "\x1b[35m <message from Mr.%s> %s \033[m\x1b[0m\n", 8 Client[msg_sender_client].name, msg); 9 case 2: 10 len = snprintf(Buf, BUFLEN, "\x1b[36m <message from Mr.%s> %s \033[m\x1b[0m\n", 11 Client[msg_sender_client].name, msg); 12 default: 13 len = snprintf(Buf, BUFLEN, "\x1b[36m <message from Mr.%s> %s \033[m\x1b[0m\n", 14 Client[msg_sender_client].name, msg); 15 } 16 17 18 for(client_id=0; client_id<N_client; client_id++){ 19 Send(Client[client_id].sock, Buf, len,0); 20 } 21
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/13 08:09
2020/07/13 08:52