首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

菜鸟请教:getline中使用Tab制表符在.size()里怎么计算的

2012-03-07 
初学者请问:getline中使用Tab制表符在.size()里如何计算的?Accelerated C++ 第一章的例子,想用getline抓取

初学者请问:getline中使用Tab制表符在.size()里如何计算的?
Accelerated C++ 第一章的例子,想用getline抓取带有空格的姓名,然后发现,输入姓名时用了Tab的话,输出就不能对齐了

C/C++ code
int main(){    string sname;    getline(cin, sname);        const string greeting = "Hello, " + sname + "!";        const string blank(greeting.size(), ' ');    const string second = "* " + blank + " *";        const string first(second.size(), '*');        cout << first << endl;    cout << second << endl;    cout << "* " << greeting << " *" << endl;    cout << second << endl;    cout << first << endl;    return 0;}


[解决办法]
string("\t").size() 看咯。size() 是计算字符数,不是宽度。
[解决办法]
get又不是输出,没有所谓setw之类的问题。读进来的tab永远是单字符,size当然是1

热点排行