最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲

 更新時(shí)間:2020年10月26日 08:46:29   作者:一只當(dāng)歸  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)掃雷小游戲的具體代碼,供大家參考,具體內(nèi)容如下

在編寫(xiě)掃雷小游戲之前,第一,我們應(yīng)該列出我們想要實(shí)現(xiàn)的掃雷小游戲的功能:

1.顯示選中的坐標(biāo)周?chē)睦椎膫€(gè)數(shù)。
2.保證第一次選中的坐標(biāo)不是雷。
3.選中的坐標(biāo)周?chē)?個(gè)格子中沒(méi)有雷,則展開(kāi)。

第二,我們應(yīng)該明白我們需要兩個(gè)棋盤(pán)來(lái)實(shí)現(xiàn)掃雷游戲:一個(gè)棋盤(pán)用來(lái)展示給玩家,初始界面全為“ * ” (未翻開(kāi)的格子),這個(gè)頁(yè)面就是我們常見(jiàn)的掃雷頁(yè)面。另一個(gè)棋盤(pán)用來(lái)給編寫(xiě)者看,棋盤(pán)內(nèi)只有字符‘1'和字符‘0' ?!?'代表雷,‘0'代表非雷。使用字符‘1'‘0'來(lái)代表雷和非雷有利于我們下一步計(jì)算坐標(biāo)周?chē)椎膫€(gè)數(shù)。

1.初始化棋盤(pán)

nitboard(show_board, ROWS, COLS,'*'); //‘*'代表未翻開(kāi)的坐標(biāo)
 Initboard(mine_board, ROWS, COLS, '0'); //‘0'代表非雷
 void Initboard(char board[ROWS][COLS], int row, int col, char set)
{
 memset(board, set, row*col * sizeof(board[0][0]));
}

2.打印棋盤(pán)

void DisPlayboard(char board[ROWS][COLS], int row, int col)
{
 int i = 0;
 int j = 0;
 printf(" ");
 for (i = 1; i <= row; i++) //打印行
 {
 printf("%d ", i);
 }
 printf("\n");
 for (i = 1; i <= row; i++)
 {
 printf("%d ", i); //打印列
 for (j = 1; j <= col; j++)
 {
 printf("%c ", board[i][j]);
 }
 printf("\n");
 }
 printf("\n");
}

3.在棋盤(pán)中埋入雷。(因?yàn)槊恳淮沃匦麻_(kāi)始游戲雷的位置不能重復(fù),所以選擇用隨機(jī)數(shù)來(lái)埋雷)

void GetBoom(char board[ROWS][COLS], int row, int col) //埋雷
{
 int x = 0;
 int y = 0;
 int sum = 0;
 while(1)
 { 
 x = rand() % row +1; //雷放在1-9的范圍里
 y = rand() % col +1;
 if (1)
 {
 board[x][y] = '1';
 sum++;
 if (sum == M) //埋入雷后跳出循環(huán)
 {
 break;
 }
 }
 }

4.確保第一次不踩到雷,如果第一次踩到雷,我們就將此位置改為非雷,然后將此處的雷移動(dòng)到別處未放置雷的位置。 

(還要考慮一種特殊情況,即如果第一次落子就獲得勝利的情況時(shí)后面函數(shù)就不用再執(zhí)行了,所以此函數(shù)要改為有返回值的函數(shù),這樣在調(diào)用此函數(shù)時(shí)就可以判斷是否為一次就獲得勝利的情況)

int Judge_first(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col)
{
 int x = 0;
 int y = 0;
 int m;
 int n;
 printf("請(qǐng)輸入要排查的坐標(biāo):");
 scanf("%d%d", &x, &y);
 while (1)
 {
 if (mine_board[x][y] == '1') //如果第一次踩雷,將此坐標(biāo)改為非雷
 {
 mine_board[x][y] = '0';
 show_board[x][y] = ' ';
 while (1)
 {
 m = rand() % 9 + 1;
 n = rand() % 9 + 1;
 if (m != x && n != y && mine_board[m][n] != '1')
 {
 mine_board[m][n] = '1';
 }
 Open(mine_board, show_board, x, y);
 if (Full(show_board, ROW, COL) == 1) //展開(kāi)后判斷是否一次獲得勝利
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 return 2;  //一次獲得勝利返回2 不再執(zhí)行PlayerMove函數(shù)
 break;
 }
 DisPlayboard(show_board, row, col);
 break;
 }
 break;
 }
 else if (mine_board[x][y] == '0')
 {
 show_board[x][y] = ' ';
 Open(mine_board, show_board, x, y);
 if (Full(show_board, ROW, COL) == 1)
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 return 2;
 break;
 }
 DisPlayboard(show_board, row, col);
 break;
 }
 }
}

5.當(dāng)坐標(biāo)周?chē)讉€(gè)數(shù)為0時(shí),展示周?chē)褡?,再以X和Y周?chē)藗€(gè)坐標(biāo)分別為中心展開(kāi),當(dāng)坐標(biāo)周?chē)欣讜r(shí)不再遞歸展開(kāi),并將雷的個(gè)數(shù)放在該坐標(biāo)。

void Open(char mine_board[ROWS][COLS],char show_board[ROWS][COLS], int x, int y)
{
 int ret = 0;
 ret = Num(mine_board, x, y);
 if (ret == 0) //當(dāng)坐標(biāo)周?chē)讉€(gè)數(shù)為0時(shí) 打開(kāi)周?chē)褡?再以X和Y周?chē)藗€(gè)坐標(biāo)為中心展開(kāi) 重復(fù)即為遞歸展開(kāi)
 {
 show_board[x][y] = ' '; 
 if (x - 1 > 0 && y - 1 > 0 && show_board[x - 1][y - 1] == '*')
 {
 Open(mine_board, show_board, x - 1, y - 1);
 }
 if (x - 1 > 0 && y > 0 && show_board[x - 1][y] == '*')
 {
 Open(mine_board, show_board, x - 1, y);
 }
 if (x - 1 > 0 && y + 1 <= COL && show_board[x - 1][y + 1] == '*')
 {
 Open(mine_board, show_board, x - 1, y + 1);
 }
 if (x > 0 && y + 1 <= COL && show_board[x][y + 1] == '*')
 {
 Open(mine_board, show_board, x, y + 1);
 }
 if (x + 1 < ROW && y + 1 <= COL && show_board[x + 1][y + 1] == '*')
 {
 Open(mine_board, show_board, x + 1, y + 1);
 }
 if (x + 1 <= ROW && y > 0 && show_board[x + 1][y] == '*')
 {
 Open(mine_board, show_board, x + 1, y);
 }
 if (x + 1 <= ROW && y - 1 > 0 && show_board[x + 1][y - 1] == '*')
 {
 Open(mine_board, show_board, x + 1, y - 1);
 }
 if (x > 0 && y - 1 > 0 && show_board[x][y - 1] == '*')
 {
 Open(mine_board, show_board, x, y - 1);
 }
 }
 else if (ret != 0)
 show_board[x][y] = Num(mine_board, x, y) + 48;
}

6.計(jì)算坐標(biāo)周?chē)蝗χ兴椎膫€(gè)數(shù)。

int Num(char board[ROWS][COLS], int x, int y)
{
 int sum = 0; //sum為坐標(biāo)周?chē)椎膫€(gè)數(shù)
 sum = board[x - 1][y - 1]
 + board[x][y - 1] + board[x + 1][y - 1]
 + board[x + 1][y] + board[x + 1][y + 1]
 + board[x][y + 1] + board[x - 1][y + 1]
 + board[x - 1][y] - (8 * '0');
 return sum;
}

7.判斷玩家是否排完所有雷。

int Full(char board[ROWS][COLS], int row, int col) 
{
 int i;
 int j;
 int sum = 0; //sum為棋盤(pán)未翻開(kāi)格子的個(gè)數(shù)
 for (i = 1; i <= row; i++)
 {
 for (j = 1; j <= col; j++)
 {
 if (board[i][j] == '*')
 sum++;
 } 
 }
 if (sum == M) //當(dāng)未翻開(kāi)的格子數(shù)為雷數(shù)時(shí) 返回1
 return 1;
}

8.玩家輸入坐標(biāo)掃雷。

void PlayerMove(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col)
{
 int x = 0;
 int y = 0;
 int ret = 0;
 while (1)
 {
 if (Full(show_board, ROW, COL) == 1) //棋盤(pán)未翻開(kāi)格子等于雷數(shù)時(shí)玩家勝利
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 break;
 }
 printf("請(qǐng)輸入坐標(biāo):");
 scanf("%d%d", &x, &y);
 if (x >= 1 && x <= row && y >= 1 && y <= col)
 {
 
 if (mine_board[x][y] == '1') //玩家踩到雷,游戲結(jié)束
 {
 printf("游戲結(jié)束\n");
 DisPlayboard(mine_board, ROW, COL);
 break;
 }
 ret = Num(mine_board, x, y);
 if (ret == 0) //周?chē)鷽](méi)有雷時(shí),展開(kāi)周?chē)褡?
 {
 Open(mine_board, show_board, x, y);
 DisPlayboard(show_board, ROW, COL);
 }
 else if (ret != 0) //周?chē)欣讜r(shí)打印雷的個(gè)數(shù)
 {
 show_board[x][y] = ret + 48;
 DisPlayboard(show_board, ROW, COL);
 }
 }
 else
 printf("輸入錯(cuò)誤,請(qǐng)重新輸入");
 }
}

9.函數(shù)聲明,宏定義,函數(shù)的定義實(shí)現(xiàn),測(cè)試。

源文件:test.c //主要負(fù)責(zé)測(cè)試整個(gè)代碼
頭文件:game.h //包含函數(shù)各種聲明,宏定義
源文件:game.c //包含各種函數(shù)的定義

test.c

#include"game.h"
void menu()
{
 printf("************************************\n");
 printf("************************************\n");
 printf("******* 1.play  *******\n");
 printf("******* 0.exit  *******\n");
 printf("************************************\n");
}

int game()
{
 char show_board[ROWS][COLS] = { 0 };
 char mine_board[ROWS][COLS] = { 0 };
//
 Initboard(show_board, ROWS, COLS,'*'); //初始化數(shù)組
 Initboard(mine_board, ROWS, COLS, '0'); 
 printf("游戲開(kāi)始\n");
 DisPlayboard(show_board, ROW, COL); //打印玩家雷盤(pán)
//
 GetBoom(mine_board, ROW, COL); //埋雷
 printf("\n\n\n");
 DisPlayboard(mine_board, ROW, COL); //打印雷盤(pán)
//
 if (Judge_first(mine_board, show_board, ROW, COL) == 2) //如果一次勝利,就不再執(zhí)行PlayerMove函數(shù)
 return 2;
// 
 PlayerMove(mine_board, show_board, ROW, COL); 
}

void test()
{
 int n;
 menu();
 do
 {
 printf("請(qǐng)輸入選項(xiàng)按鈕: ");
 scanf("%d", &n);
 switch (n)
 {
 case 1:
 game();
 break;
 case 0:
 printf("游戲退出\n");
 break;
 default:
 printf("輸入錯(cuò)誤,請(qǐng)重新輸入\n");
 break;
 } 
 }while(1);
}
int main()
{
 srand((unsigned int)time(NULL));
 test();
}

game.c

#include"game.h"
void Initboard(char board[ROWS][COLS], int row, int col, char set)
{
 memset(board, set, row*col * sizeof(board[0][0]));
}
void DisPlayboard(char board[ROWS][COLS], int row, int col)
{
 int i = 0;
 int j = 0;
 printf(" ");
 for (i = 1; i <= row; i++) //打印行
 {
 printf("%d ", i);
 }
 printf("\n");
 for (i = 1; i <= row; i++)
 {
 printf("%d ", i); //打印列
 for (j = 1; j <= col; j++)
 {
 printf("%c ", board[i][j]);
 }
 printf("\n");
 }
 printf("\n");
}

void GetBoom(char board[ROWS][COLS], int row, int col) //埋雷
{
 int x = 0;
 int y = 0;
 int sum = 0;
 while(1)
 { 
 x = rand() % row +1; //雷放在1-9的范圍里
 y = rand() % col +1;
 if (1)
 {
 board[x][y] = '1';
 sum++;
 if (sum == M) //埋入所需的雷后跳出循環(huán)
 {
 break;
 }
 }
 }
}

int Judge_first(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col)
{
 int x = 0;
 int y = 0;
 int m;
 int n;
 printf("請(qǐng)輸入要排查的坐標(biāo):");
 scanf("%d%d", &x, &y);
 while (1)
 {
 if (mine_board[x][y] == '1') //如果第一次踩雷,將此坐標(biāo)改為非雷
 {
 mine_board[x][y] = '0';
 show_board[x][y] = ' ';
 while (1)
 {
 m = rand() % 9 + 1;
 n = rand() % 9 + 1;
 if (m != x && n != y && mine_board[m][n] != '1')
 {
 mine_board[m][n] = '1';
 }
 Open(mine_board, show_board, x, y);
 if (Full(show_board, ROW, COL) == 1) //展開(kāi)后判斷是否一次獲得勝利
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 return 2;  //一次獲得勝利返回2 不再執(zhí)行PlayerMove函數(shù)
 break;
 }
 DisPlayboard(show_board, row, col);
 break;
 }
 break;
 }
 else if (mine_board[x][y] == '0')
 {
 show_board[x][y] = ' ';
 Open(mine_board, show_board, x, y);
 if (Full(show_board, ROW, COL) == 1)
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 return 2;
 break;
 }
 DisPlayboard(show_board, row, col);
 break;
 }
 }
}

void PlayerMove(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col)
{
 int x = 0;
 int y = 0;
 int ret = 0;
 while (1)
 {
 if (Full(show_board, ROW, COL) == 1) //棋盤(pán)下滿(mǎn)玩家勝利
 {
 printf("游戲勝利\n");
 DisPlayboard(mine_board, ROW, COL);
 break;
 }
 printf("請(qǐng)輸入坐標(biāo):");
 scanf("%d%d", &x, &y);
 if (x >= 1 && x <= row && y >= 1 && y <= col)
 {
 
 if (mine_board[x][y] == '1')
 {
 printf("游戲結(jié)束\n");
 DisPlayboard(mine_board, ROW, COL);
 break;
 }
 ret = Num(mine_board, x, y);
 if (ret == 0) //周?chē)鷽](méi)有雷時(shí),展開(kāi)周?chē)褡?
 {
 Open(mine_board, show_board, x, y);
 DisPlayboard(show_board, ROW, COL);
 }
 else if (ret != 0) //周?chē)欣讜r(shí)打印雷的個(gè)數(shù)
 {
 show_board[x][y] = ret + 48;
 DisPlayboard(show_board, ROW, COL);
 }
 }
 else
 printf("輸入錯(cuò)誤,請(qǐng)重新輸入");
 }
}

void Open(char mine_board[ROWS][COLS],char show_board[ROWS][COLS], int x, int y)
{
 int ret = 0;
 ret = Num(mine_board, x, y);
 if (ret == 0) //當(dāng)坐標(biāo)周?chē)讉€(gè)數(shù)為0時(shí) 打開(kāi)周?chē)褡?再以X和Y周?chē)藗€(gè)坐標(biāo)為中心展開(kāi) 重復(fù)即為遞歸展開(kāi)
 {
 show_board[x][y] = ' '; 
 if (x - 1 > 0 && y - 1 > 0 && show_board[x - 1][y - 1] == '*')
 {
 Open(mine_board, show_board, x - 1, y - 1);
 }
 if (x - 1 > 0 && y > 0 && show_board[x - 1][y] == '*')
 {
 Open(mine_board, show_board, x - 1, y);
 }
 if (x - 1 > 0 && y + 1 <= COL && show_board[x - 1][y + 1] == '*')
 {
 Open(mine_board, show_board, x - 1, y + 1);
 }
 if (x > 0 && y + 1 <= COL && show_board[x][y + 1] == '*')
 {
 Open(mine_board, show_board, x, y + 1);
 }
 if (x + 1 < ROW && y + 1 <= COL && show_board[x + 1][y + 1] == '*')
 {
 Open(mine_board, show_board, x + 1, y + 1);
 }
 if (x + 1 <= ROW && y > 0 && show_board[x + 1][y] == '*')
 {
 Open(mine_board, show_board, x + 1, y);
 }
 if (x + 1 <= ROW && y - 1 > 0 && show_board[x + 1][y - 1] == '*')
 {
 Open(mine_board, show_board, x + 1, y - 1);
 }
 if (x > 0 && y - 1 > 0 && show_board[x][y - 1] == '*')
 {
 Open(mine_board, show_board, x, y - 1);
 }
 }
 else if (ret != 0)
 show_board[x][y] = Num(mine_board, x, y) + 48;
}

int Num(char board[ROWS][COLS], int x, int y)
{
 int sum = 0;
 sum = board[x - 1][y - 1]
 + board[x][y - 1] + board[x + 1][y - 1]
 + board[x + 1][y] + board[x + 1][y + 1]
 + board[x][y + 1] + board[x - 1][y + 1]
 + board[x - 1][y] - (8 * '0');
 return sum;
}

int Full(char board[ROWS][COLS], int row, int col)
{
 int i;
 int j;
 int sum = 0;
 for (i = 1; i <= row; i++)
 {
 for (j = 1; j <= col; j++)
 {
 if (board[i][j] == '*')
 sum++;
 } 
 }
 if (sum == M)
 return 1;
}

game.h

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
#include<time.h>

#define ROW 9
#define COL 9
#define ROWS ROW + 2
#define COLS COL + 2
#define M 10 //所需雷的個(gè)數(shù)

void test();
int game();
void Initboard(char board[ROWS][COLS], int row, int col, int set); //初始化數(shù)組
void DisPlayboard(char board[ROWS][COLS], int row, int col); //打印雷盤(pán)
void GetBoom(char board[ROWS][COLS], int row, int col); //安放炸彈
int Judge_first(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col); //保證第一次不是雷
void PlayerMove(char mine_board[ROWS][COLS], char show_board[ROWS][COLS], int row, int col); //玩家排雷
void Open(char mine_board[ROWS][COLS],char show_board[ROWS][COLS], int x, int y); //展開(kāi)函數(shù)
int Num(char mine_board[ROWS][COLS], int x, int y); //計(jì)算坐標(biāo)周?chē)椎臄?shù)量
int Full(char board[ROWS][COLS], int row, int col); //判斷雷是否下滿(mǎn)

更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專(zhuān)題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言柔性數(shù)組實(shí)例詳解

    C語(yǔ)言柔性數(shù)組實(shí)例詳解

    這篇文章主要介紹了C語(yǔ)言柔性數(shù)組,通過(guò)實(shí)例分析了不完整類(lèi)型、結(jié)構(gòu)體及柔性數(shù)組等概念,需要的朋友可以參考下
    2014-09-09
  • C++二分法在數(shù)組中查找關(guān)鍵字的方法

    C++二分法在數(shù)組中查找關(guān)鍵字的方法

    這篇文章主要介紹了C++二分法在數(shù)組中查找關(guān)鍵字的方法,涉及C++數(shù)組查找算法的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C++實(shí)現(xiàn)推箱子小游戲源碼

    C++實(shí)現(xiàn)推箱子小游戲源碼

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)推箱子小游戲源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • MATLAB全網(wǎng)最全的colormap的使用教程詳解

    MATLAB全網(wǎng)最全的colormap的使用教程詳解

    眾所周知,MATLAB中的colormap只有少得可憐的幾種,有很多應(yīng)用在很特殊的圖形中的colormap幾乎都沒(méi)有,而每次寫(xiě)代碼都要去找顏色的圖屬實(shí)太麻煩。所以本文將包全部集成了進(jìn)來(lái),終于有了這套包含200個(gè)colormap的工具函數(shù),希望對(duì)大家有所幫助
    2023-02-02
  • C++利用靜態(tài)成員或類(lèi)模板構(gòu)建鏈表的方法講解

    C++利用靜態(tài)成員或類(lèi)模板構(gòu)建鏈表的方法講解

    這篇文章主要介紹了C++利用靜態(tài)成員或類(lèi)模板構(gòu)建鏈表的方法講解,鏈表是基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu),而在C++中構(gòu)件單鏈表還是稍顯復(fù)雜,需要的朋友可以參考下
    2016-04-04
  • C++11學(xué)習(xí)之多線程的支持詳解

    C++11學(xué)習(xí)之多線程的支持詳解

    這篇文章主要為大家詳細(xì)介紹了C++11中多線程支持的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們深入了解C++11有一定的幫助,需要的可以參考一下
    2023-02-02
  • C++ Boost Bind庫(kù)示例分析使用

    C++ Boost Bind庫(kù)示例分析使用

    Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱(chēng)。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱(chēng)
    2022-11-11
  • C++實(shí)現(xiàn)職工工資管理系統(tǒng)

    C++實(shí)現(xiàn)職工工資管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)單的職工工資管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C++基礎(chǔ)入門(mén)教程(七):一些比較特別的基礎(chǔ)語(yǔ)法總結(jié)

    C++基礎(chǔ)入門(mén)教程(七):一些比較特別的基礎(chǔ)語(yǔ)法總結(jié)

    這篇文章主要介紹了C++基礎(chǔ)入門(mén)教程(七):一些比較特別的基礎(chǔ)語(yǔ)法總結(jié),本文總結(jié)的都是一些特殊的語(yǔ)法,需要的朋友可以參考下
    2014-11-11
  • C++實(shí)現(xiàn)json形式的Socket傳輸圖片

    C++實(shí)現(xiàn)json形式的Socket傳輸圖片

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)json形式的Socket傳輸圖片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論

宝山区| 利川市| 潜江市| 百色市| 垫江县| 桃江县| 稻城县| 巫山县| 利川市| 泰宁县| 尉犁县| 邢台县| 噶尔县| 从江县| 济阳县| 定南县| 杭州市| 尉犁县| 平度市| 河东区| 盐池县| 湄潭县| 肥西县| 呼和浩特市| 博兴县| 西安市| 安化县| 会同县| 河间市| 织金县| 隆尧县| 寻乌县| 武隆县| 沙河市| 海安县| 开封市| 石渠县| 大姚县| 蒙城县| 绥阳县| 井冈山市|