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 ++2010Expressを使用しています