如何在C++中将一个字符的用户输入存储到数组的EACH元素中

How to store user input of one character into EACH element of an array in C++?

本文关键字:输入 用户 元素 存储 数组 字符 EACH C++ 一个      更新时间:2023-10-16

我希望用户只输入一个字符,比如"Y",然后我希望Y存储在数组的每个元素中(即:array[9]),这样当我打印它时,它会像"YYYYYYYY",或者当它是2d数组时(即:array[2][2]),它会看起来像:

YYY
YYY
YYY   

如果您需要将每个输入的字符打印相同次数,为什么要存储所有字符?它会浪费内存,只存储一个字符,然后打印任何需要的次数,所以我想一个数组就足够了。但这个解决方案就是我从你的问题中得到的,如果有一些限制,请共享或更好地共享代码。。。

您可以使用<cstring>中的memset(),或<algorithm>中的std::fill()。因此,对于char array[9];,您可以执行以下操作:

memset(array, 'Y', 9);

或:

std::fill(array, array + 9, 'Y');

对于二维阵列,可以单独设置每一行。

使用memset()时要小心,因为长度是以字节为单位给出的,而不是以元素为单位。例如,如果您有一个int数组,那么memset(array, 'Y', 9)就不起作用。std::fill()没有这个问题。