PDcurses с отображением вопросительных знаков вместо намеченного символа - PullRequest
1 голос
/ 05 декабря 2010

У меня проблема с PDcurses, отображающими некоторые символы как?вместо правильного характера.Я сделал небольшую тестовую программу для отображения кодовой страницы 437, чтобы определить, какие символы работали, а какие нет.

Странно, когда я выключаю PDcurses, проблемные символы отображаются правильно.

Источник:

Это исходный код без 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 XP3 и с использованием Microsoft Visual C ++ 2010 Express

Ответы [ 2 ]

2 голосов
/ 03 февраля 2011

Я вернулся и решил это через некоторое время. Оказывается, я использовал не ту версию PDcurses. Из доступных http://sourceforge.net/projects/pdcurses/files/pdcurses/3.4/ я использовал pdc34dllw. Я переключился на pdc34dll и теперь он работает отлично.

0 голосов
/ 05 декабря 2010

Что происходит, когда вы делаете c a char вместо int во втором примере?

...