【发布时间】:2017-09-28 18:43:00
【问题描述】:
我正在使用 ncurses 做一个模拟城市模拟器。
我在 .txt 中有 ascii 地图,我需要在终端上加载它。
加载良好,但没有显示正确的字符(仅适用于某些字符)。
例如:
在 .txt -> 在终端中
│ -> �~T~B
═ -> �~U~P
(->(
我正在使用 http://www.theasciicode.com.ar/ 作为 ascii 地图
下面是在终端显示地图的代码
nt setUpMap(){
FILE *fp;
int c;
fp = fopen("./files/map.txt", "r+");
cbreak();
// Read and display data
while ((c = fgetc(fp)) != EOF)
{
switch(c){
case 'p' :
// todo : emoji
break;
default:
printw("%c", c);
break;
}
}
fclose(fp);
return 0;
}
.txt 内容示例:
┌───────────────────────┐
│ [] [] [] [] │
│ [] [] [] [] [] │
│ [] [] [] [] │
│ │
│ ┌──┐ ┌──┐ │
└───┘ └───────┘ └─────┘
终端输出:
�~T~L�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@ �~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~P
�~T~B [] [] [] [] �~T~B
�~T~B [] [] [] [] [] �~T~B
�~T~B [] [] [] [] �~T~B
�~T~B �~T~B
�~T~B �~T~L�~T~@�~T~@�~T~P �~T~L�~T~@�~T~@�~T~P �~T~B
�~T~T�~T~@�~T~@�~T~@�~T~X �~T~T�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~@�~T~X �~T~T�~T~@�~T~@�~T~@�~T~@�~T~@�~T~X
感谢您的任何想法
【问题讨论】:
-
我不认为您发布的代码向我们显示了错误...我建议您编辑它并发布更多代码,并附上一段 .txt 文件。
-
@Gam 我已经编辑了帖子,我的问题现在更清楚了吗?
-
也许this 可以帮忙?
-
@QuentinLaillé 所以我必须对输入进行切换然后输出正确的常量?
-
如果你用
printw("%d\n", c);修改printw()是你想要的字符吗?