首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C語言圖形界面輸出異常:控制台窗口尺寸導致輸出位置錯位

     編輯:程式設計疑難解答

現象

在輸出函數中加入 \n 後,預期從 i=1 開始輸出,實際卻從 j=16 開始,畫面顯示錯亂。

根因

控制台窗口寬度/高度過小**,導致換行符觸發滾動或光標定位異常,輸出內容被截斷/錯位。

解決方法

  1. 手動調整窗口**:右鍵標題欄 → 屬性 → 佈局 → 將「屏幕緩衝區大小」與「窗口大小」的寬度、高度調大(如 120×50)。
  2. 代碼設置模式**(Windows):
    #include <windows.h>
    void resizeConsole(int width, int height) {
        HWND hwnd = GetConsoleWindow();
        RECT rect;
        GetWindowRect(hwnd, &rect);
        MoveWindow(hwnd, rect.left, rect.top, width, height, TRUE);
    }
    // main 首行調用
    resizeConsole(800, 600);
    
  3. 使用 ANSI 轉義序列**(現代終端支持):printf("\033[8;50;120t"); 請求 50 行 120 列。

驗證

調整窗口後重新運行,輸出位置恢復正常,換行符不再導致內容跳躍。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved