C ++如何将char插入向量中

时间:2013-03-10 19:25:21

标签: c++

我有一个声明如下的矢量:

    vector < vector<char> > v;

依赖玩家我想将x或o插入向量中。我是这样做的:

 v[y][x]= set%2 ? 'o':'x';

在我的向量中而不是o或x我得到:120'x'。为什么?我该怎么做只插入x?

1 个答案:

答案 0 :(得分:4)

问题在于你最有可能将char打印为整数,这样就可以为'x'提供120。请参阅ascii table

正如@ us2012指出的那样,考虑一下您对如何看待价值的评论:

  

在调试器中我得到这样的值:{move = 0 win = false v = [2]([2](120'x',0),2)} game_size * const

这只是显示额外信息的调试器。

如果要打印该值,可以选择确切的表示形式 - 使用printf参数,或static_cast'打印您要打印的内容。

使用以下方式打印:

std::cout << v[y][x] << std::endl;

会给你'x',因为矢量会存储char

如果您想以小数形式查看,只需使用:

std::cout << static_cast<int>(v[y][x]) << std::endl;