1

我在 PDcurses 显示一些符号时遇到了问题?而不是正确的字符。我做了一个小测试程序来显示代码页 437 以确定哪些符号正在工作,哪些没有。

奇怪的是,当我关闭 PDcurses 时,问题符号正确显示。

问题符号是ÇéâäàåçêëèïîÄæÆôöòûùÿÖÜ¢£₧ƒ</p>

这是没有 PDcurses 的源代码:

#include "stdafx.h"
#include <curses.h>
#include <iostream>
#include <panel.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[]) 
{
    //initscr();
    char c;
    for (int a = 0; a < 16; a++)
    {
        for (int b = 1; b < 17; b++)
        {
            move(a, b - 1);
            c = b + (a * 16) - 1;
            //addrawch(c);
            cout << c;
        }
        cout << "\n";
    }
    //refresh();
    //getch();
    //endwin();
    return 0;
}

这是 PDcurses 的源代码:

#include "stdafx.h"
#include <curses.h>
#include <iostream>
#include <panel.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[]) 
{
    initscr();
    int c;
    for (int a = 0; a < 16; a++)
    {
        for (int b = 1; b < 17; b++)
        {
            move(a, b - 1);
            c = b + (a * 16) - 1;
            addrawch(c);
            //cout << c;
        }
        //cout << "\n";
    }
    refresh();
    getch();
    endwin();
    return 0;
}

我正在运行 Windows XP Service Pack 3 并使用 Microsoft Visual C++ 2010 Express

4

2 回答 2

2

过了一会儿我回来解决了这个问题。原来我使用了错误版本的 PDcurses。从可用的http://sourceforge.net/projects/pdcurses/files/pdcurses/3.4/我使用的是 pdc34dllw。我切换到 pdc34dll,现在它工作得很好。

于 2011-02-03T18:39:13.353 回答
0

在第二个示例中将c设为char而不是int时会发生什么?

于 2010-12-05T14:33:33.897 回答