如何从链表中的字符串中获取第一个字母
How to get the first letter from a string in a linked list?
我试图通过substr(0,1)
从名称(类型字符串)中获取第一个字母。但是,我想要一个指针指向它,在一个链表中。
所以我是这样写的:h->name.substr(0,1)
其中(h)是指针,(name)是结构中的字符串类型。
struct empType{
string name;
empType *next;
};
但是当我打印h->name.substr(0,1)
时,它出现了(NULL)。
假设链表存在,并且 (h) 是指向第一个节点的指针。
要获取(引用 a)第一个字符,请使用 std::basic_string::front 成员函数:
h->name.front();
或 std::basic_string::at 值为 0
:
h->name.at(0);
或索引为 0
的 std::basic_string::operator[] 运算符:
h->name[0];
或取消引用 std::basic_string::d ata 指针:
*h->name.data();
或取消引用 std::basic_string::开始迭代器:
*h->name.begin();
包含结构的简单示例:
#include <iostream>
#include <string>
struct empType{
std::string name;
empType *next;
};
int main() {
empType* h = new empType;
h->name = "Hello World";
h->next = nullptr;
std::cout << h->name.front();
std::cout << h->name.at(0);
std::cout << h->name[0];
std::cout << *h->name.data();
std::cout << *h->name.begin();
delete h;
}
相关文章:
- 为什么它只打印双链接列表的第一个值,而我的程序却崩溃了
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 获取第 n 个最大数字
- push_back通过自行创建的对象获取最后一个元素的向量
- 如何仅读取文本文件中的第一个值
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- 查找不在标准中的第一个值::设置<int>最小-最大值
- 有没有一种标准方法可以在C++中获取第 n 个"下一个"浮点值
- C++:忽略第一个 cin.ignore 之后的输入
- 在C++中打印多个矢量的第一个值
- C++去除前x个元素的有效方法,在不改变向量大小的情况下将第x+1个元素推到第一个
- C++第一个cout将不会打印
- 我们可以在第一个else-if条件结束后使用另一个else-if条件吗
- 使函数仅获取每对存在的第一个值
- 获取不等于特定值的向量的第一个N元素
- 获取第 n 项与 std::set 中第一个/最后一个的偏移量
- 如何在C中获取char阵列的第一个X元素?提升效果是否有改进的方法
- 获取第 N 种类型的可变参数模板 **当一个或多个类型是接口时**
- 仅从std::cin获取第一个值
- 按照第一个hello world示例在VS2010中获取编译错误