gpt4 book ai didi

c++ - 添加逗号时字符串 * 中的意外 cout <<

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:34 24 4
gpt4 key购买 nike

我在之前使用 Visual Studio 后转向在 RedHat 上编译 g++ 时遇到了一个有趣的错误。

我有一个看起来像这样的循环:

for(unsigned int i = 0; i < data.size(); i ++){

for(int j = 0; j < data[i]->size; j++){

cout << data[i]->columns[j]<< ',';
}

cout << endl;

}

其中data[i]->columns是字符串*,目的是用逗号分隔输出。以前,这是有效的,但是,今天我的输出看起来像这样:

,ata, two, three, four
,ata2, two, three, four
,ata3, two, three, four

而如果我将代码稍微更改为: cout << 数据i[i]->列[j] << endl;

我得到:

data
two
three
four

data2
two
three
four

是什么原因导致这些字符与逗号重叠?这不会发生在 visual studio 编译器上。

最佳答案

看起来每一行的最后一个条目都有一个\r 和/或\n。

所以在 4 上你得到 "fourBREAK,"

您的 endl 输出似乎证实了这一点,因为您在 4 行后有 2 行换行符。

关于c++ - 添加逗号时字符串 * 中的意外 cout <<,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9265418/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com