将矢量元素分配给字符变量
Assign Vector element to a char variable
我有一个像这样的字符串"快乐的日子"。
最初,我将此字符串转换为字符数组。之后,我将每个 char 数组元素分配给一个 char 变量,然后我曾经通过这样的检查来检查每个字符是否是 ASCII 字符:
input character <127 && input character >=0
现在不是做一个字符数组,而是做一个字符向量。现在我想做同样的事情,我想使用 vector.at(计数器) 访问向量的特定元素。在此之后,我想将此值分配给 char 变量并像上面一样进行 ASCII 检查。但是当我这样做时,它会给我很多错误。
这是将向量元素值分配给 char 变量的正确方法吗?我做错了什么吗?
你要求这样的东西(未经测试):
std::string str("HappyDays");
std::vector<char> vec(str.begin(), str.end());
for (int i = 0; i < vec.size(); ++i)
{
char c = vec.at(i);
if (c < 127 && c >=0)
{
std::cout << "character " << c << " is ASCII according to OPn"
}
}
但这也适用于:
std::string str("HappyDays");
for (auto c: str)
{
if (0 <= c && c <= 127)
{
std::cout << "character " << c << " is ASCIIn"
}
}
使用迭代器:
std::string str("HappyDays");
for (auto it = str.begin(); it != str.end(); ++it)
{
char c = *it;
if (0 <= c && c <= 127)
{
std::cout << "character " << c << " is ASCIIn"
}
}
相关文章:
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 是否可以使用其他变量为变量分配值,而无需在 C++ 中更改其值?
- 如何从字符串中找到字符(变量)?
- C++理解计算字符变量的问题
- 将字符逐个分配给指针?
- C++ - 使用基于范围的 for 循环将字符值分配给向量中的字符串不会分配值
- 将十六进制值设置为用于填充的字符变量时出现问题
- 将字符串变量分配给无符号字符变量
- 当对字符变量使用toupper()时,所述char变量输出多个字符.我该如何防止这种情况发生
- 将延迟变量分配给引用变量
- 为什么以下变量分配不正确
- 如何在 c++ 中将两个不同类型的变量分配给一个变量
- C++ 无法将字符数组变量分配给字符串变量
- C++无法打印字符变量
- 直接为浮点变量分配十六进制整数与通过指针转换分配之间的区别
- 识别矩阵变量分配的行为
- 如何查看两个字符变量是否相等
- 将文件中的值分配给无符号字符变量的奇怪行为
- 将矢量元素分配给字符变量
- 无法为字符串变量分配字符