我在VC下编写控制台应用程序,想控制光标到任意位置,我是这样做的。
       #include <d:\tc\include\graphics.h>//tc++下的绝对路径
     编译时错误信息
d:\tc\include\graphics.h(248) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(250) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(251) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(253) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(254) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(255) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(256) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(257) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(257) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(257) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(258) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(258) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(259) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(261) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(262) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(262) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
d:\tc\include\graphics.h(263) : error C4226: nonstandard extension used : 'far' is an obsolete keyword
请问是什么问题???????

解决方案 »

  1.   

    非标准扩展用法:far一个过时的关键字,你的TC应重装,并确保是2.0版以上.
      

  2.   

    VC下控制台编程的一些函数The code to accomplish this follows.// console.cpp
    //
    #include "console.h"using namespace std;//
    // Clears the screen
    //
    void clrscr()
    {
      COORD coordScreen = { 0, 0 }; 
      DWORD cCharsWritten; 
      CONSOLE_SCREEN_BUFFER_INFO csbi; 
      DWORD dwConSize; 
      HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); 
      
      GetConsoleScreenBufferInfo(hConsole, &csbi); 
      dwConSize = csbi.dwSize.X * csbi.dwSize.Y; 
      FillConsoleOutputCharacter(hConsole, TEXT(' '),
                                 dwConSize, 
                                 coordScreen,
                                 &cCharsWritten); 
      GetConsoleScreenBufferInfo(hConsole, &csbi); 
      FillConsoleOutputAttribute(hConsole,
                                 csbi.wAttributes,
                                 dwConSize,
                                 coordScreen,
                                 &cCharsWritten); 
      SetConsoleCursorPosition(hConsole, coordScreen); 
    }//
    // Moves the cursor to x, y in console window
    // ie x=left\right y=top\bottom
    //
    void gotoxy(int x, int y)
    {
      COORD point;
      point.X = x; point.Y = y;
      SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),
                               point);
    }//
    // Set text and background colors
    //
    void setrgb(int color)
    {
      switch (color)
      {
      case 0:    // White on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                            FOREGROUND_INTENSITY | FOREGROUND_RED |
                            FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
      case 1:    // Red on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                             FOREGROUND_INTENSITY | FOREGROUND_RED);
        break;
      case 2:    // Green on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                          FOREGROUND_INTENSITY | FOREGROUND_GREEN);
        break;
      case 3:    // Yellow on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                          FOREGROUND_INTENSITY | FOREGROUND_RED |
                          FOREGROUND_GREEN);
        break;
      case 4:    // Blue on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                          FOREGROUND_INTENSITY | FOREGROUND_BLUE);
        break;
      case 5:    // Magenta on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                         FOREGROUND_INTENSITY | FOREGROUND_RED |
                         FOREGROUND_BLUE);
        break;
      case 6:    // Cyan on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                        FOREGROUND_INTENSITY | FOREGROUND_GREEN |
                        FOREGROUND_BLUE);
        break;
      case 7:    // Black on Gray
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                      BACKGROUND_INTENSITY | BACKGROUND_INTENSITY);
        break;
      case 8:    // Black on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                      BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                      BACKGROUND_RED | BACKGROUND_GREEN |
                      BACKGROUND_BLUE);
        break;
      case 9:    // Red on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                      BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                      BACKGROUND_RED | BACKGROUND_GREEN |
                      BACKGROUND_BLUE |
          FOREGROUND_RED);
        break;
      case 10:    // Green on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                     BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                     BACKGROUND_RED | BACKGROUND_GREEN |
                     BACKGROUND_BLUE | FOREGROUND_GREEN);
        break;
      case 11:    // Yellow on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                     BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                     BACKGROUND_RED | BACKGROUND_GREEN |
                     BACKGROUND_BLUE | FOREGROUND_RED |
                     FOREGROUND_GREEN);
        break;
      case 12:    // Blue on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                     BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                     BACKGROUND_RED | BACKGROUND_GREEN |
                     BACKGROUND_BLUE | FOREGROUND_BLUE);
        break;
      case 13:    // Magenta on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                     BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                     BACKGROUND_RED | BACKGROUND_GREEN |
                     BACKGROUND_BLUE | FOREGROUND_RED |
                     FOREGROUND_BLUE);
        break;
      case 14:    // Cyan on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                     BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                     BACKGROUND_RED | BACKGROUND_GREEN |
                     BACKGROUND_BLUE | FOREGROUND_GREEN |
                     FOREGROUND_BLUE);
        break;
      case 15:    // White on White
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                    BACKGROUND_INTENSITY | FOREGROUND_INTENSITY |
                    BACKGROUND_RED | BACKGROUND_GREEN |
                    BACKGROUND_BLUE | FOREGROUND_RED |
                    FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
      default :    // White on Black
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                    FOREGROUND_INTENSITY | FOREGROUND_RED |
                    FOREGROUND_GREEN | FOREGROUND_BLUE);
        break;
      }
    }