質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

972閲覧

エラーコードの意味がわからない

Asahi_1115

総合スコア13

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/07/31 08:31

1対1通信で1~10の乱数の中からはずれを引くと終了する爆弾ゲームのようなものを作っているのですがサーバ側にでたエラーコードの意味が分からず困ってます

  • error C1083:includeファイルを開けません。 'stdlio.h': No such file or directory(5行目)
  • IntelliSense:ソースファイルを開けません。 "stdlio.h"(5行目)
  • IntelliSense:式は変更可能な左辺値である必要があります (57行目)
  • IntelliSense:';'が必要です。(62行目)

エラーコードの説明とどの辺を手直しすればいいかご助言いただけませんか

サーバ側

1#include <stdio.h> #include <io.h>//基本入出力関数 #include <winsock2.h> 5#include<stdlio.h>//乱数 #include<time.h>//乱数 #define BUF_LEN 100//入出力バッファサイズ int main() 10{ WSADATA wsaData; SOCKET sock0; struct sockaddr_in addr; struct sockaddr_in client; 15 int len; SOCKET sock; char buf[BUF_LEN];//入出力バッファ 20 // winsock2の初期化 WSAStartup(MAKEWORD(2, 0), &wsaData); // ソケットの作成 sock0 = socket(AF_INET, SOCK_STREAM, 0); 25 // ソケットの設定(アドレス構造体の設定) addr.sin_family = AF_INET;//インターネットを使用する addr.sin_port = htons(12345);//サーバ(自分自身)のポート番号 addr.sin_addr.S_un.S_addr = INADDR_ANY;//IPアドレスすべての値指定 30 //ソケットのディスクリプタとアドエス構造体を結びつける bind(sock0, (struct sockaddr *)&addr, sizeof(addr)); // TCPクライアントからの接続要求を待てる状態にする(待ちクライアント数指定) 35 listen(sock0, 5); // TCPクライアントからの接続要求を受け付ける printf("クライアントからの接続待ち\n"); len = sizeof(client); sock = accept(sock0, (struct sockaddr *)&client, &len); 40 int s; srand(time(NULL)); //1~10のランダムな数 s = rand()%10+1; //1~10のランダムな数 45 //送受信処理 do{ printf("数字を選んでください...。\n"); memset(buf, 0, sizeof(buf));//送受信バッファ0クリア _read(0, buf, sizeof(buf));//キーボードから入力 50 send(sock, buf, sizeof(buf), 0);//送信 printf("相手が選んでいます...。\n"); memset(buf, 0, sizeof(buf)); recv(sock, buf, sizeof(buf), 0);//受信 printf("相手の選んだ数字→%s\n",buf); 55 57 } while (buf = s); printf("爆発しました\n") 60 // TCPセッションの終了 62 closesocket(sock); // winsock2の終了処理 WSACleanup(); return 0; }

クライアント側

#define _WINSOCK_DEPRECATED_NO_WARNINGS #include <stdio.h> #include <io.h>//基本入出力関数 #include <winsock2.h> #define BUF_LEN 100//入出力バッファサイズ int main() { WSADATA wsaData; struct sockaddr_in server; SOCKET sock; char buf[BUF_LEN];//入出力バッファ // winsock2の初期化 WSAStartup(MAKEWORD(2, 0), &wsaData); // ソケットの作成 sock = socket(AF_INET, SOCK_STREAM, 0); // 接続先指定用アドレス構造体の準備 server.sin_family = AF_INET;//インターネット使用 server.sin_port = htons(12345);//接続先ポート番号 server.sin_addr.S_un.S_addr = inet_addr("10.30.20.212");//接続先IPアドレス // サーバに接続 connect(sock, (struct sockaddr *)&server, sizeof(server)); //受信送信処理 int n = 1; do { memset(buf, 0, sizeof(buf));//送受信バッファ0クリア printf("相手のが選んでいます...。\n"); recv(sock, buf, sizeof(buf), 0);//受信 printf("相手の選んだ数字→ %s\n",buf); printf("数字を選んでください...。\n"); memset(buf, 0, sizeof(buf));//送受信バッファ0クリア _read(0, buf, sizeof(buf));//キーボードから入力 send(sock, buf, sizeof(buf), 0);//送信 } while (n = 1); printf("爆発しました\n") // TCPセッションの終了 closesocket(sock); // winsock2の終了処理 WSACleanup(); return 0; }

理想の実行結果
[サーバ側実行]
クライアントからの接続待ち
数字を選んでください
1
相手が選んでいます
相手の選んだ数字
2
爆発しました

[クライアント側実行]
相手が選んでいます
相手の選んだ数字
1
数字を選んでください
2
爆発しました

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

error C1083:includeファイルを開けません。 'stdlio.h': No such file or directory(5行目)
IntelliSense:ソースファイルを開けません。 "stdlio.h"(5行目)

"stdlio.h"というファイルが存在しない.きっと"stdlib.h"の間違いだと思う.

IntelliSense:式は変更可能な左辺値である必要があります (57行目)

whileの条件式がおかしい.buf = sは代入文.きっとbuf == sとしたいのだと思う.

IntelliSense:';'が必要です。(62行目)

2行前のprintfの行末にセミコロンがない.

投稿2017/07/31 08:43

編集2017/07/31 08:44
tamy

総合スコア442

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tamy

2017/07/31 08:49

辛口かもですが,全部エラー文そのままです.ひょっとして,エラーが出たから特に内容も読まずに考えるのをやめていませんか?
Asahi_1115

2017/08/02 12:52

苦手な部分が多くて少し投げやりになっていたかもしれません。以後気をつけて取り組んでいきます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問