之前总文章写作太卡了,写了快4万字,卡的我随便打个字都有延迟,索性直接开个贴把这一块补上,就跟github项目的branch分支一样,等我把这些分支弄好后再拼到总文章里面去。
1.8.4.1解析命令
我们先来查看一下readline的manual手册。
man readline
接着,我们再来查看一下strtok手册。
man strtok
strtok函数是C语言标准库中的一个函数,用于将字符串分割成一系列子字符串。这个函数定义在<string.h>头文件中。当使用strtok函数时,可以指定一个或多个分隔符,函数会根据这些分隔符将字符串分割,并返回指向第一个子字符串的指针。在后续的调用中,应将第一个参数设置为NULL,以便函数继续从上次结束的位置开始分割字符串。
示例代码
下面是使用strtok函数的一个示例代码,它展示了如何使用这个函数来分割一个字符串:
strtok函数是C语言标准库中的一个函数,用于将字符串分割成一系列子字符串。这个函数定义在<string.h>头文件中。当使用strtok函数时,可以指定一个或多个分隔符,函数会根据这些分隔符将字符串分割,并返回指向第一个子字符串的指针。在后续的调用中,应将第一个参数设置为NULL,以便函数继续从上次结束的位置开始分割字符串。
示例代码
下面是使用strtok函数的一个示例代码,它展示了如何使用这个函数来分割一个字符串:
#include <string.h>
#include <stdio.h>
int main() {
char str[80] = "This is - www.runoob.com - website";
const char s[2] = "-";
char *token;
// 获取第一个子字符串
token = strtok(str, s);
// 继续获取其他的子字符串
while(token != NULL) {
printf("%s\n", token);
token = strtok(NULL, s);
}
return 0;
}
在这个示例中,字符串"This is - www.runoob.com - website"被分割成了三个子字符串:"This is"、"www.runoob.com"和"website"。分隔符"-"被用来分割字符串。
注意事项
使用strtok函数时需要注意以下几点:
strtok函数在分割字符串时会修改原始字符串,因此应确保只在可以修改的字符串上使用它。
由于strtok函数在内部使用静态指针来保持调用之间的状态,因此它不是线程安全的。在多线程环境中,应使用strtok_r函数或其他线程安全的版本。
通过使用strtok函数,可以方便地将一个字符串按照指定的分隔符进行分割,从而获得所需的子字符串。这在处理诸如命令行参数、配置文件等场景中非常有用。
在这个示例中,字符串"This is - www.runoob.com - website"被分割成了三个子字符串:"This is"、"www.runoob.com"和"website"。分隔符"-"被用来分割字符串。
注意事项
使用strtok函数时需要注意以下几点:
-
strtok函数在分割字符串时会修改原始字符串,因此应确保只在可以修改的字符串上使用它。
-
由于strtok函数在内部使用静态指针来保持调用之间的状态,因此它不是线程安全的。在多线程环境中,应使用strtok_r函数或其他线程安全的版本。
通过使用strtok函数,可以方便地将一个字符串按照指定的分隔符进行分割,从而获得所需的子字符串。这在处理诸如命令行参数、配置文件等场景中非常有用。
1.8.4.2单步执行
1.8.4.3打印寄存器
打印寄存器可以直接调用API接口,即上面的这个函数。
1.8.4.4扫描内存
1.8.4.5实现单步执行、打印寄存器、扫描内存
标签:分割,函数,strtok,示例,简易,分隔符,字符串,调试器,基础设施 From: https://blog.csdn.net/LYZ1102/article/details/143371159