当前位置: 首页 > news >正文

VS 2022教程VsCode技巧(创建C语言程序)

VS 2022教程&VsCode技巧(创建C语言程序)

创建一个简单的C语言程序





写一个简单的hello world程序:

#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }

其它技巧:

显示行号:在文本编辑器中找到所有语言选择


一个基于EasyX图形界面的贪吃蛇程序

附贪吃蛇可执行程序下载
下载安装EasyX
EasyX官网

点击安装

创建一个C++程序

步骤同上(修改👇)

代码:

#include <graphics.h> #include <windows.h> #include <mmsystem.h> #include <tchar.h> #include <stdlib.h> #include <time.h> #ifdef _MSC_VER #pragma execution_character_set("utf-8") #pragma comment(lib, "winmm.lib") #endif #define WIN_W 960 #define WIN_H 720 #define TOP_H 72 #define BOARD_X 40 #define BOARD_Y 110 #define CELL 24 #define COLS 24 #define ROWS 20 #define BOARD_W (COLS * CELL) #define BOARD_H (ROWS * CELL) #define PANEL_X 650 #define PANEL_W 270 #define MAX_SNAKE (COLS * ROWS) typedef struct Point { int x; int y; } Point; typedef enum GameState { STATE_MENU = 0, STATE_RUNNING = 1, STATE_PAUSED = 2, STATE_GAMEOVER = 3 } GameState; typedef struct Button { RECT rc; int enabled; int visible; } Button; static Point g_snake[MAX_SNAKE]; static int g_snake_len = 0; static Point g_food = { 0, 0 }; static int g_dir_x = 1; static int g_dir_y = 0; static int g_next_dir_x = 1; static int g_next_dir_y = 0; static int g_score = 0; static GameState g_state = STATE_MENU; static int g_running = 1; static int g_mouse_x = 0; static int g_mouse_y = 0; static DWORD g_last_step = 0; static Button g_btn_start; static Button g_btn_pause; static Button g_btn_restart; static Button g_btn_exit; static int SamePoint(Point a, Point b) { return a.x == b.x && a.y == b.y; } static int PointInRect(RECT rc, int x, int y) { return x >= rc.left && x < rc.right && y >= rc.top && y < rc.bottom; } static int IsStartActionState(void) { switch (g_state) { case STATE_MENU: case STATE_PAUSED: case STATE_GAMEOVER: return 1; default: return 0; } } static int IsPauseActionState(void) { switch (g_state) { case STATE_RUNNING: case STATE_PAUSED: return 1; default: return 0; } } static int IsPlayableState(void) { switch (g_state) { case STATE_RUNNING: case STATE_PAUSED: case STATE_GAMEOVER: return 1; default: return 0; } } static int IsCellOnSnake(int x, int y) { int i; for (i = 0; i < g_snake_len; ++i) { if (g_snake[i].x == x && g_snake[i].y == y) { return 1; } } return 0; } static void PlaceFood(void) { do { g_food.x = rand() % COLS; g_food.y = rand() % ROWS; } while (IsCellOnSnake(g_food.x, g_food.y)); } static int CurrentStepMs(void) { int speed = 150 - (g_score / 50) * 6; if (speed < 70) { speed = 70; } return speed; } static void SetRunningState(GameState state) { g_state = state; g_last_step = GetTickCount(); } static void ResetGame(void) { int i; g_snake_len = 4; g_score = 0; g_dir_x = 1; g_dir_y = 0; g_next_dir_x = 1; g_next_dir_y = 0; for (i = 0; i < g_snake_len; ++i) { g_snake[i].x = COLS / 2 - i; g_snake[i].y = ROWS / 2; } PlaceFood(); } static void StartGame(void) { ResetGame(); SetRunningState(STATE_RUNNING); } static void PauseGame(void) { if (g_state == STATE_RUNNING) { g_state = STATE_PAUSED; } } static void ResumeGame(void) { if (g_state == STATE_PAUSED) { SetRunningState(STATE_RUNNING); } } static void TogglePause(void) { if (g_state == STATE_RUNNING) { PauseGame(); } else if (g_state == STATE_PAUSED) { ResumeGame(); } } static void SoundClick(void) { PlaySound(TEXT("SystemDefault"), NULL, SND_ALIAS | SND_ASYNC); } static void SoundFood(void) { PlaySound(TEXT("SystemAsterisk"), NULL, SND_ALIAS | SND_ASYNC); } static void SoundOver(void) { PlaySound(TEXT("SystemHand"), NULL, SND_ALIAS | SND_ASYNC); } static void GameOver(void) { g_state = STATE_GAMEOVER; SoundOver(); } static void TrySetDirection(int dx, int dy) { if (g_next_dir_x == -dx) { if (g_next_dir_y == -dy) { return; } } g_next_dir_x = dx; g_next_dir_y = dy; } static void StepGame(void) { Point new_head; int growing; int limit; int i; int new_len; if (g_state != STATE_RUNNING) { return; } g_dir_x = g_next_dir_x; g_dir_y = g_next_dir_y; new_head.x = g_snake[0].x + g_dir_x; new_head.y = g_snake[0].y + g_dir_y; if (new_head.x < 0 || new_head.x >= COLS || new_head.y < 0 || new_head.y >= ROWS) { GameOver(); return; } growing = SamePoint(new_head, g_food); limit = growing ? g_snake_len : g_snake_len - 1; for (i = 0; i < limit; ++i) { if (SamePoint(new_head, g_snake[i])) { GameOver(); return; } } new_len = g_snake_len + (growing ? 1 : 0); if (new_len > MAX_SNAKE) { GameOver(); return; } for (i = new_len - 1; i > 0; --i) { g_snake[i] = g_snake[i - 1]; } g_snake[0] = new_head; g_snake_len = new_len; if (growing) { g_score += 10; SoundFood(); if (g_snake_len == MAX_SNAKE) { GameOver(); return; } PlaceFood(); } } static void DrawTextCenter(RECT rc, LPCTSTR text, int text_size, COLORREF color) { int tw; int th; int x; int y; setbkmode(TRANSPARENT); settextcolor(color); settextstyle(text_size, 0, TEXT("Microsoft YaHei")); tw = textwidth(text); th = textheight(text); x = (rc.left + rc.right - tw) / 2; y = (rc.top + rc.bottom - th) / 2; outtextxy(x, y, text); } static void DrawButton(const Button* btn, LPCTSTR text, int enabled, int hovered) { COLORREF fill; COLORREF line; COLORREF tcolor; int shadow = 5; if (!btn->visible) { return; } if (!enabled) { fill = RGB(48, 52, 60); line = RGB(72, 78, 88); tcolor = RGB(150, 155, 165); } else if (hovered) { fill = RGB(64, 90, 130); line = RGB(158, 198, 255); tcolor = RGB(250, 252, 255); } else { fill = RGB(42, 58, 82); line = RGB(112, 145, 190); tcolor = RGB(238, 242, 248); } setfillcolor(RGB(8, 10, 14)); solidrectangle(btn->rc.left + shadow, btn->rc.top + shadow, btn->rc.right + shadow, btn->rc.bottom + shadow); setfillcolor(fill); setlinecolor(line); solidrectangle(btn->rc.left, btn->rc.top, btn->rc.right, btn->rc.bottom); rectangle(btn->rc.left, btn->rc.top, btn->rc.right, btn->rc.bottom); DrawTextCenter(btn->rc, text, 20, tcolor); } static void DrawPanel(void) { RECT top = { 0, 0, WIN_W, TOP_H }; RECT board_bg = { BOARD_X - 14, BOARD_Y - 14, BOARD_X + BOARD_W + 14, BOARD_Y + BOARD_H + 14 }; RECT panel_bg = { PANEL_X - 14, BOARD_Y - 14, PANEL_X + PANEL_W + 14, BOARD_Y + BOARD_H + 14 }; setfillcolor(RGB(15, 20, 28)); solidrectangle(0, 0, WIN_W, WIN_H); setfillcolor(RGB(21, 30, 44)); solidrectangle(top.left, top.top, top.right, top.bottom); setfillcolor(RGB(67, 102, 150)); solidrectangle(0, TOP_H - 4, WIN_W, TOP_H); setfillcolor(RGB(20, 26, 35)); solidrectangle(board_bg.left, board_bg.top, board_bg.right, board_bg.bottom); setfillcolor(RGB(13, 18, 25)); solidrectangle(BOARD_X, BOARD_Y, BOARD_X + BOARD_W, BOARD_Y + BOARD_H); setfillcolor(RGB(20, 26, 35)); solidrectangle(panel_bg.left, panel_bg.top, panel_bg.right, panel_bg.bottom); setfillcolor(RGB(15, 20, 28)); solidrectangle(PANEL_X, BOARD_Y, PANEL_X + PANEL_W, BOARD_Y + BOARD_H); setlinecolor(RGB(45, 58, 74)); rectangle(BOARD_X, BOARD_Y, BOARD_X + BOARD_W, BOARD_Y + BOARD_H); rectangle(PANEL_X, BOARD_Y, PANEL_X + PANEL_W, BOARD_Y + BOARD_H); settextcolor(RGB(240, 245, 250)); setbkmode(TRANSPARENT); settextstyle(30, 0, TEXT("Microsoft YaHei")); outtextxy(28, 18, TEXT("\u8d2a\u5403\u86c7 EasyX \u6559\u5b66\u7248")); settextstyle(18, 0, TEXT("Microsoft YaHei")); outtextxy(618, 20, TEXT("\u65b9\u5411\u952e\u79fb\u52a8 \u7a7a\u683c\u6682\u505c R\u91cd\u65b0\u5f00\u59cb ESC\u9000\u51fa")); } static void DrawGrid(void) { int i; setlinecolor(RGB(28, 35, 46)); for (i = 0; i <= COLS; ++i) { int x = BOARD_X + i * CELL; line(x, BOARD_Y, x, BOARD_Y + BOARD_H); } for (i = 0; i <= ROWS; ++i) { int y = BOARD_Y + i * CELL; line(BOARD_X, y, BOARD_X + BOARD_W, y); } } static void DrawFood(void) { int cx = BOARD_X + g_food.x * CELL + CELL / 2; int cy = BOARD_Y + g_food.y * CELL + CELL / 2; setfillcolor(RGB(110, 14, 20)); solidcircle(cx, cy, CELL / 2 - 1); setfillcolor(RGB(235, 72, 72)); solidcircle(cx, cy, CELL / 3); setfillcolor(RGB(255, 210, 210)); solidcircle(cx - 4, cy - 4, 2); } static void DrawSnake(void) { int i; for (i = g_snake_len - 1; i >= 0; --i) { int cx = BOARD_X + g_snake[i].x * CELL + CELL / 2; int cy = BOARD_Y + g_snake[i].y * CELL + CELL / 2; int body_r = CELL / 2 - 2; if (i == 0) { setfillcolor(RGB(130, 226, 145)); solidcircle(cx, cy, body_r + 1); setfillcolor(RGB(92, 190, 111)); solidcircle(cx, cy, body_r - 2); setfillcolor(RGB(20, 30, 25)); if (g_dir_x == 1) { solidcircle(cx + 5, cy - 5, 2); solidcircle(cx + 5, cy + 5, 2); } else if (g_dir_x == -1) { solidcircle(cx - 5, cy - 5, 2); solidcircle(cx - 5, cy + 5, 2); } else if (g_dir_y == -1) { solidcircle(cx - 5, cy - 5, 2); solidcircle(cx + 5, cy - 5, 2); } else { solidcircle(cx - 5, cy + 5, 2); solidcircle(cx + 5, cy + 5, 2); } } else { setfillcolor(RGB(59, 173, 87)); solidcircle(cx, cy, body_r); setfillcolor(RGB(73, 194, 98)); solidcircle(cx - 3, cy - 3, body_r / 2); } } } static void DrawBoardStats(void) { RECT rc; TCHAR buf[128]; LPCTSTR state_text; rc.left = PANEL_X + 18; rc.top = BOARD_Y + 18; rc.right = PANEL_X + PANEL_W - 18; rc.bottom = BOARD_Y + 48; DrawTextCenter(rc, TEXT("\u6e38\u620f\u4fe1\u606f"), 24, RGB(238, 244, 250)); settextstyle(18, 0, TEXT("Microsoft YaHei")); settextcolor(RGB(230, 235, 240)); setbkmode(TRANSPARENT); wsprintf(buf, TEXT("\u5f97\u5206\uff1a%d"), g_score); outtextxy(PANEL_X + 24, BOARD_Y + 70, buf); wsprintf(buf, TEXT("\u957f\u5ea6\uff1a%d"), g_snake_len); outtextxy(PANEL_X + 24, BOARD_Y + 104, buf); wsprintf(buf, TEXT("\u901f\u5ea6\uff1a%d ms/\u6b65"), CurrentStepMs()); outtextxy(PANEL_X + 24, BOARD_Y + 138, buf); if (g_state == STATE_MENU) { state_text = TEXT("\u83dc\u5355"); } else if (g_state == STATE_RUNNING) { state_text = TEXT("\u8fd0\u884c"); } else if (g_state == STATE_PAUSED) { state_text = TEXT("\u6682\u505c"); } else { state_text = TEXT("\u7ed3\u675f"); } wsprintf(buf, TEXT("\u72b6\u6001\uff1a%s"), state_text); outtextxy(PANEL_X + 24, BOARD_Y + 172, buf); setlinecolor(RGB(52, 64, 80)); line(PANEL_X + 18, BOARD_Y + 210, PANEL_X + PANEL_W - 18, BOARD_Y + 210); outtextxy(PANEL_X + 24, BOARD_Y + 228, TEXT("\u64cd\u4f5c\u8bf4\u660e\uff1a")); outtextxy(PANEL_X + 24, BOARD_Y + 260, TEXT("\u2191 \u2193 \u2190 \u2192 \u63a7\u5236\u65b9\u5411")); outtextxy(PANEL_X + 24, BOARD_Y + 292, TEXT("\u7a7a\u683c \u6682\u505c / \u7ee7\u7eed")); outtextxy(PANEL_X + 24, BOARD_Y + 324, TEXT("R \u91cd\u65b0\u5f00\u59cb")); outtextxy(PANEL_X + 24, BOARD_Y + 356, TEXT("ESC \u9000\u51fa\u7a0b\u5e8f")); } static void DrawCenterCard(void) { RECT card; RECT title_rc; RECT sub_rc; RECT tip_rc; TCHAR title[64]; TCHAR sub[128]; TCHAR tip[160]; card.left = BOARD_X + 58; card.top = BOARD_Y + 50; card.right = BOARD_X + BOARD_W - 58; card.bottom = BOARD_Y + BOARD_H - 50; setfillcolor(RGB(19, 26, 37)); solidrectangle(card.left, card.top, card.right, card.bottom); setlinecolor(RGB(82, 113, 156)); rectangle(card.left, card.top, card.right, card.bottom); setfillcolor(RGB(41, 62, 89)); solidrectangle(card.left, card.top, card.right, card.top + 8); title_rc.left = card.left; title_rc.top = card.top + 18; title_rc.right = card.right; title_rc.bottom = card.top + 78; sub_rc.left = card.left + 20; sub_rc.top = card.top + 92; sub_rc.right = card.right - 20; sub_rc.bottom = card.top + 158; tip_rc.left = card.left + 20; tip_rc.top = card.bottom - 78; tip_rc.right = card.right - 20; tip_rc.bottom = card.bottom - 18; if (g_state == STATE_MENU) { wsprintf(title, TEXT("\u8d2a\u5403\u86c7")); wsprintf(sub, TEXT("EasyX \u56fe\u5f62\u5316\u6559\u5b66\u7248")); wsprintf(tip, TEXT("\u70b9\u51fb\u53f3\u4fa7\u201c\u5f00\u59cb\u6e38\u620f\u201d\u8fdb\u5165\uff1b\u65b9\u5411\u952e\u79fb\u52a8\uff0c\u7a7a\u683c\u6682\u505c\uff0cR \u91cd\u65b0\u5f00\u59cb\u3002")); } else if (g_state == STATE_PAUSED) { wsprintf(title, TEXT("\u5df2\u6682\u505c")); wsprintf(sub, TEXT("\u6e38\u620f\u4f1a\u505c\u5728\u5f53\u524d\u753b\u9762")); wsprintf(tip, TEXT("\u70b9\u51fb\u201c\u7ee7\u7eed\u6e38\u620f\u201d\u6216\u6309\u7a7a\u683c\u6062\u590d\u3002")); } else { wsprintf(title, TEXT("\u6e38\u620f\u7ed3\u675f")); wsprintf(sub, TEXT("\u6700\u7ec8\u5206\u6570\uff1a%d"), g_score); wsprintf(tip, TEXT("\u70b9\u51fb\u201c\u518d\u6765\u4e00\u5c40\u201d\u6216\u6309 R \u91cd\u65b0\u5f00\u59cb\u3002")); } DrawTextCenter(title_rc, title, 40, RGB(242, 247, 252)); DrawTextCenter(sub_rc, sub, 24, RGB(203, 217, 232)); DrawTextCenter(tip_rc, tip, 20, RGB(180, 195, 210)); } static void DrawScene(void) { RECT rc; LPCTSTR start_text; LPCTSTR pause_text; int start_hover; int pause_hover; int restart_hover; int exit_hover; DrawPanel(); DrawBoardStats(); DrawGrid(); if (IsPlayableState()) { DrawFood(); DrawSnake(); } if (IsStartActionState()) { DrawCenterCard(); } if (g_state == STATE_MENU) { start_text = TEXT("\u5f00\u59cb\u6e38\u620f"); } else if (g_state == STATE_PAUSED) { start_text = TEXT("\u7ee7\u7eed\u6e38\u620f"); } else { start_text = TEXT("\u518d\u6765\u4e00\u5c40"); } if (g_state == STATE_RUNNING) { pause_text = TEXT("\u6682\u505c\u6e38\u620f"); } else { pause_text = TEXT("\u7ee7\u7eed\u6e38\u620f"); } g_btn_start.visible = 1; g_btn_start.enabled = IsStartActionState(); g_btn_pause.visible = 1; g_btn_pause.enabled = IsPauseActionState(); g_btn_restart.visible = 1; g_btn_restart.enabled = (g_state != STATE_MENU); g_btn_exit.visible = 1; g_btn_exit.enabled = 1; start_hover = 0; if (g_btn_start.enabled) { start_hover = PointInRect(g_btn_start.rc, g_mouse_x, g_mouse_y); } pause_hover = 0; if (g_btn_pause.enabled) { pause_hover = PointInRect(g_btn_pause.rc, g_mouse_x, g_mouse_y); } restart_hover = 0; if (g_btn_restart.enabled) { restart_hover = PointInRect(g_btn_restart.rc, g_mouse_x, g_mouse_y); } exit_hover = PointInRect(g_btn_exit.rc, g_mouse_x, g_mouse_y); DrawButton(&g_btn_start, start_text, g_btn_start.enabled, start_hover); DrawButton(&g_btn_pause, pause_text, g_btn_pause.enabled, pause_hover); DrawButton(&g_btn_restart, TEXT("\u91cd\u65b0\u5f00\u59cb"), g_btn_restart.enabled, restart_hover); DrawButton(&g_btn_exit, TEXT("\u9000\u51fa\u7a0b\u5e8f"), g_btn_exit.enabled, exit_hover); rc.left = PANEL_X + 18; rc.top = BOARD_Y + BOARD_H - 92; rc.right = PANEL_X + PANEL_W - 18; rc.bottom = BOARD_Y + BOARD_H - 22; DrawTextCenter(rc, TEXT("\u8bfe\u8bbe\u63d0\u793a\uff1a\u53ef\u76f4\u63a5\u6f14\u793a\u83dc\u5355\u3001\u6682\u505c\u3001\u91cd\u5f00\u548c\u97f3\u6548"), 18, RGB(150, 165, 182)); } static void OnMouseClick(int x, int y) { if (PointInRect(g_btn_start.rc, x, y)) { if (!IsStartActionState()) { return; } SoundClick(); if (g_state == STATE_PAUSED) { ResumeGame(); } else { StartGame(); } return; } if (PointInRect(g_btn_pause.rc, x, y)) { if (!IsPauseActionState()) { return; } SoundClick(); TogglePause(); return; } if (PointInRect(g_btn_restart.rc, x, y) && g_state != STATE_MENU) { SoundClick(); StartGame(); return; } if (PointInRect(g_btn_exit.rc, x, y)) { SoundClick(); g_running = 0; } } static void OnKeyDown(int vk) { switch (vk) { case VK_UP: if (g_state == STATE_RUNNING) { TrySetDirection(0, -1); } break; case VK_DOWN: if (g_state == STATE_RUNNING) { TrySetDirection(0, 1); } break; case VK_LEFT: if (g_state == STATE_RUNNING) { TrySetDirection(-1, 0); } break; case VK_RIGHT: if (g_state == STATE_RUNNING) { TrySetDirection(1, 0); } break; case VK_SPACE: if (IsPauseActionState()) { TogglePause(); SoundClick(); } else { StartGame(); SoundClick(); } break; case 'R': StartGame(); SoundClick(); break; case VK_RETURN: if (IsStartActionState()) { if (g_state == STATE_PAUSED) { ResumeGame(); } else { StartGame(); } SoundClick(); } break; case VK_ESCAPE: g_running = 0; break; default: break; } } static void InitButtons(void) { g_btn_start.rc.left = PANEL_X + 24; g_btn_start.rc.top = BOARD_Y + 220; g_btn_start.rc.right = PANEL_X + PANEL_W - 24; g_btn_start.rc.bottom = BOARD_Y + 268; g_btn_start.enabled = 1; g_btn_start.visible = 1; g_btn_pause.rc.left = PANEL_X + 24; g_btn_pause.rc.top = BOARD_Y + 286; g_btn_pause.rc.right = PANEL_X + PANEL_W - 24; g_btn_pause.rc.bottom = BOARD_Y + 334; g_btn_pause.enabled = 1; g_btn_pause.visible = 1; g_btn_restart.rc.left = PANEL_X + 24; g_btn_restart.rc.top = BOARD_Y + 352; g_btn_restart.rc.right = PANEL_X + PANEL_W - 24; g_btn_restart.rc.bottom = BOARD_Y + 400; g_btn_restart.enabled = 1; g_btn_restart.visible = 1; g_btn_exit.rc.left = PANEL_X + 24; g_btn_exit.rc.top = BOARD_Y + 418; g_btn_exit.rc.right = PANEL_X + PANEL_W - 24; g_btn_exit.rc.bottom = BOARD_Y + 466; g_btn_exit.enabled = 1; g_btn_exit.visible = 1; } int main(void) { ExMessage msg; DWORD now; DWORD last_frame = 0; srand((unsigned int)time(NULL)); initgraph(WIN_W, WIN_H); SetWindowText(GetHWnd(), TEXT("\u8d2a\u5403\u86c7 EasyX \u6559\u5b66\u7248")); setbkcolor(RGB(15, 20, 28)); setbkmode(TRANSPARENT); InitButtons(); ResetGame(); SetRunningState(STATE_MENU); BeginBatchDraw(); while (g_running) { while (peekmessage(&msg, EM_MOUSE | EM_KEY, true)) { if (msg.message == WM_MOUSEMOVE) { g_mouse_x = msg.x; g_mouse_y = msg.y; } else if (msg.message == WM_LBUTTONDOWN) { g_mouse_x = msg.x; g_mouse_y = msg.y; OnMouseClick(msg.x, msg.y); } else if (msg.message == WM_KEYDOWN) { OnKeyDown(msg.vkcode); } } now = GetTickCount(); if (g_state == STATE_RUNNING) { if (now - g_last_step >= (DWORD)CurrentStepMs()) { StepGame(); g_last_step = now; } } if (now - last_frame >= 16) { cleardevice(); DrawScene(); FlushBatchDraw(); last_frame = now; } Sleep(10); } EndBatchDraw(); closegraph(); return 0; }

运行效果:

VS code教程

1 疑难解析

1 中文乱码,请看:

  • 看最后要加一行代码


代码一

代码如下

"code-runner.executorMap":{"javascript":"node","php":"C:\\php\\php.exe","python":"python","perl":"perl","ruby":"C:\\Ruby23-x64\\bin\\ruby.exe","go":"go run","html":"\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"","java":"cd $dir && javac $fileName && java $fileNameWithoutExt","c":"chcp 65001 && cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"},
代码二

下面这个基本上解决了控制台和运行窗口中文乱码的问题

温馨提示

使用下面的代码时,在调用其他系统文件时,要确保文件编码为GBK格式。例如在调用Windows系统的文本文件时,要确保文件的编码格式为GBK格式

"code-runner.executorMap":{"javascript":"node","php":"C:\\php\\php.exe","python":"python","perl":"perl","ruby":"C:\\Ruby23-x64\\bin\\ruby.exe","go":"go run","html":"\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"","java":"cd $dir && javac $fileName && java $fileNameWithoutExt",// "c": "chcp 65001 && cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt""c":"cd $dir && gcc $fileName -o $fileNameWithoutExt -finput-charset=UTF-8 -fexec-charset=GBK && .\\$fileNameWithoutExt"//输入UTF-8 → 输出GBK(兼容默认终端)//参数作用//-finput-charset=UTF-8:声明源代码文件为UTF-8编码(若文件实际编码不符需调整)//-fexec-charset=GBK:强制可执行文件运行时使用GBK编码输出,匹配CMD/PowerShell默认编码},
点击可执行程序一闪而过
  • 解决可执行程序.exe一闪而过的方法

在C语言中

  • 在主程序中的最后应加入system("pause"),如出现无法识别system则应在头文件上加上#include <stdlib.h>即可
    在python中,在Python脚本末尾添加阻塞代码,强制等待用户输入:(推荐,系统兼容性好)
input("按回车键退出...")

或使用系统暂停命令:

importos os.system("pause")

3 打开可执行程序.exe中文乱码

如下图:在tasks.json中添加-fexec-charset=GBK重启软件即可

温馨提示:注意添加时不要忘记代码的格式,要在前面加上一个英文格式下的逗号分隔符

在VScode里面打开控制台

如下图,在launch.json中,把false改为true,则可以再工具栏中的运行选项中选择以非调试模式运行,打开控制台

打开别人的程序文件中文乱码
  • 通过改变编码重新打开,可选择GBK格式
http://www.jsqmd.com/news/860548/

相关文章:

  • 为OpenClaw智能体工作流配置Taotoken作为稳定的模型供应后端
  • 2026年美容抗衰仪器价格指南:U.SUN时光梭如何实现全民抗衰普及? - GrowthUME
  • Amphenol ICC DRPC51A009A40线束组件详解与替代方案
  • 【限时解密】Midjourney毛发质感生成私藏Prompt库:仅剩87组未公开高保真指令(含犬科/灵长类/昆虫刚毛专用模板)
  • 紧急预警:拟态风格版权灰区已扩大!——2024最新欧盟AI生成物合规白皮书+5步规避侵权风险实操清单
  • 2026天津市北辰区家政公司权威榜单:口碑好又专业的TOP机构揭秘 - GrowthUME
  • VLA已死,WAM当立:机器人的GPT时刻到了吗?
  • TraceML:用三行代码为训练循环加入 step 级诊断
  • 大牛直播SDK(SmartMediaKit)Windows平台RTSP/RTMP直播播放SDK集成说明(C#版)
  • 解锁凋亡调控密码:核心蛋白与信号通路全景解析
  • 【Midjourney范戴克印相终极指南】:20年影像工艺专家首度公开AI胶片化调色黄金参数(含7组不可复制的v6提示词矩阵)
  • 30天学会AI工程师|Day 13:Tool Calling 不是高级玩法,它是 Agent 开始有手脚的那一步
  • OpenClaw(小龙虾AI)Windows一键部署包v2.7.5|零代码+可视化操作
  • 读懂数据结构:计算机存储数据的底层逻辑
  • 抖音视频怎么下载?2026年六大方法全解析及全类型工具对比 - GrowthUME
  • 2026年福州汽车贴膜行业横向测评白皮书 - GrowthUME
  • ‌我靠技术博客实现月入3w+:一名软件测试工程师的垂直深耕之路
  • 【Prompt实战】打破“废话生成器”魔咒:结构化提示词(CRISPE框架)编写指南
  • 谷歌正式发布 Gemini Omni Flash:对话式 AI 视频创作开启“闪电”新纪元
  • 天气太好啦
  • 2026 年广州 GEO 优化公司权威榜单:全意图 GEO 驱动品牌羊城增长战略指南 - GEO优化
  • 不敢露脸做视频?AI数字人功能让你3分钟生成专业口播视频
  • P3D引擎:面向割草游戏的ECS架构性能优化方案
  • 2026年商用多联机品牌推荐:写字楼/商场/工厂三大场景实测对比 - 奔跑123
  • 全国二手摩托车第三方检测机构推荐 - GrowthUME
  • Python,Go开发民营企业从粗放期到国际化标准化App(附代码)
  • 制造业安全生产无人化巡检,未来将全面普及吗?[2026实效定调:智能体企业引领工业安全新范式]
  • AI Agent将如何重构制造业的市场竞争战略决策模式?[2026数智转型深度洞察与技术解决方案]
  • Notepad2-mod开发者实战指南:5个高效技巧让你成为开源编辑器贡献者
  • 终极英雄联盟工具箱:LeagueAkari的完整使用指南与实战技巧