c++ string取文本右边n个字符
时间: 2023-07-19 07:24:36 浏览: 72
你可以使用 C++ 的 `substr` 函数来取文本右边的 n 个字符。具体的做法是先计算出要取的子串在原字符串中的起始位置,然后再调用 `substr` 函数来获取子串。代码示例如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "Hello, world!";
int n = 5;
string sub = str.substr(str.size() - n, n);
cout << sub << endl;
return 0;
}
```
在上面的代码中,`str.size()` 函数返回了原字符串的长度,从而计算出了要取的子串的起始位置。然后调用 `substr` 函数来获取子串,存储在 `sub` 变量中。输出结果为 `orld!`,即原字符串的后 5 个字符。
相关问题
C++ 读取文本数据里的字符串和数字
要读取文本数据里的字符串和数字,可以使用C++的文件输入流对象 `ifstream` 和相关的读取操作符。以下是一个简单的示例代码,假设文本数据里的数据格式为每行一个字符串和一个数字,用逗号隔开。
```c++
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main() {
ifstream infile("data.txt"); // 打开文件
string line;
while (getline(infile, line)) { // 循环读取每一行的数据
stringstream ss(line); // 把每一行数据转为stringstream
string str;
int num;
getline(ss, str, ','); // 从stringstream里读取字符串,以逗号为分隔符
ss >> num; // 从stringstream里读取数字
cout << str << " " << num << endl; // 输出读取的数据
}
infile.close(); // 关闭文件
return 0;
}
```
在上面的示例代码中,我们首先打开文件,然后使用 `while` 循环读取每一行的数据。对于每一行的数据,我们把它转为 `stringstream` 对象,再使用 `getline` 函数从 `stringstream` 里读取字符串,以逗号为分隔符。注意,这里我们使用了第三个参数来指定分隔符。接着,我们使用 `>>` 操作符从 `stringstream` 里读取数字。最后,记得关闭文件以释放资源。
C++字符串的使用-string类
在 C++ 中,我们通常使用字符串来存储和操作文本数据。C++ 中有多种字符串类型,其中最常用的是 string 类。这个类定义在头文件 <string> 中,使用时需要包含该头文件。
下面是一些 string 类的基本用法:
1. 定义字符串变量:
```
string str = "Hello World";
```
2. 字符串拼接:
```
string str1 = "Hello";
string str2 = "World";
string str3 = str1 + " " + str2; // str3 = "Hello World"
```
3. 字符串长度:
```
string str = "Hello World";
int len = str.length(); // len = 11
```
4. 字符串查找:
```
string str = "Hello World";
int index = str.find("World"); // index = 6
```
5. 字符串替换:
```
string str = "Hello World";
str.replace(6, 5, "C++"); // str = "Hello C++"
```
6. 字符串截取:
```
string str = "Hello World";
string subStr = str.substr(6, 5); // subStr = "World"
```
7. 字符串转整数:
```
string str = "123";
int num = stoi(str); // num = 123
```
8. 整数转字符串:
```
int num = 123;
string str = to_string(num); // str = "123"
```
除了上面这些基本用法,string 类还提供了很多其他的成员函数,可以根据需要进行使用。