gpt4 book ai didi

c++ - 输出输入的拼接版本

转载 作者:行者123 更新时间:2023-11-28 01:06:59 25 4
gpt4 key购买 nike

#include <iostream>
#include <string>

using namespace std;

int main()
{
char name[256];
cout << "Enter your name: ";
cin.getline (name,256);

for(int i = 0; i < 50; i++)
{
cout << name[i];

if (name[i] == '\n')
break;
}

cout << endl;
return(0);
}

输入你的名字:我叫肖恩

一旦我这样做,它就会输出“我的名字是肖恩”,然后是一堆胡说八道的疯狂符号。

为什么它在 Sean 的“n”之后没有停止?因为那里有一个 '\n' 字符。或者至少我会这么想。

所有,我想要的是一次输出名称中的每个字符一个符号,并在到达行尾时停止,这样当数组实际上要小得多时就不必转到 256

我的代码有什么问题?

最佳答案

cin.getline从输入缓冲区中读取换行符(或您指定为分隔符的任何内容),但不将其包含在生成的字符串中,因此您正在读取已读取数据的末尾,直到遇到下一个字节恰好包含对应于换行符的值(通常为 10)。

将它们全部写在一起要容易得多:cout << name;

关于c++ - 输出输入的拼接版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5588934/

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