windows上,CString str=../conf/adf/df/1.txt ;截取字符串,获取CString为../conf/adf/df
时间: 2023-07-08 09:48:18 浏览: 89
可以使用 Windows API 函数来实现,具体代码如下:
```C++
#include <iostream>
#include <atlstr.h>
using namespace std;
int main() {
CString str = "../conf/adf/df/1.txt";
int nLastSlash = str.ReverseFind('\\');
CString subStr = str.Left(nLastSlash);
cout << subStr << endl;
return 0;
}
```
输出结果为:
```
../conf/adf/df
```
其中,ReverseFind() 函数是查找字符在字符串中最后一次出现的位置,本例中是查找最后一个 '\' 的位置。Left() 函数是截取字符串,将字符串的左边 n 个字符作为新的字符串返回,本例中是截取了最后一个 '\' 左边的所有字符,也就是 ../conf/adf/df。
相关问题
CString str=../conf/adf/df/1.txt ;截取字符串,获取../conf/adf/df
可以使用字符串截取函数 substr() 来实现,具体代码如下:
```
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "../conf/adf/df/1.txt";
string subStr = str.substr(0, str.find_last_of('/'));
cout << subStr << endl;
return 0;
}
```
输出结果为:
```
../conf/adf/df
```
其中,substr() 函数的第一个参数是起始位置,第二个参数是要截取的字符个数。find_last_of() 函数是查找字符在字符串中最后一次出现的位置,本例中是查找最后一个 '/' 的位置。因此,subStr 就是截取出来的子字符串。
C++ CString字符串截取
在C++中,`CString`是MFC(Microsoft Foundation Classes)库中提供的一种字符串类,它允许对宽字符和ANSI字符进行操作。如果你想要从`CString`对象中截取一段字符串,可以使用`substr()`函数。这个函数的基本语法如下:
```cpp
CString substr(int pos, int len = -1);
```
- `pos` : 要开始截取的字符位置(从0开始计数),如果省略或设为负值,表示从字符串开头开始。
- `len` (可选) : 截取的字符长度。如果设为-1,表示截取到字符串的末尾。
例如,如果你想获取从第三个字符开始到字符串结束的所有字符,你可以这样做:
```cpp
CString str = "Hello, World!";
CString subStr = str.substr(2); // 截取从索引2开始直到结尾
```
如果你想截取固定长度的字符串,例如5个字符,可以这样做:
```cpp
CString subStr = str.substr(2, 5); // 截取从索引2开始的5个字符
```
阅读全文