1.C语言库函数
1.1 strrchr()
描述
C 库函数 char *strrchr(const char *str, int c) 在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。
声明
下面是 strrchr() 函数的声明。
char *strrchr(const char *str, int c)
参数
str – C 字符串。
c – 要搜索的字符。以 int 形式传递,但是最终会转换回 char 形式。
返回值
该函数返回 str 中最后一次出现字符 c 的位置。如果未找到该值,则函数返回一个空指针。
实例
下面的实例演示了 strrchr() 函数的用法。
#include <stdio.h>
#include <string.h>
int main()
{
int len;
const char str[] = "D:\\software\\Microsoft Visio 2022\\Admin";
const char ch = '\\';
char* ret;
ret = (char*)strrchr(str, ch);
printf("|%c| 之后的字符串是 - |%s|\n", ch, ret);
printf("\\后面的内容是------%s", ret + 1);
return(0);
}
让我们编译并运行上面的程序,这将产生以下结果:
|\| 之后的字符串是 - |\Admin|
\后面的内容是------Admin
2 c++中 argc、argv[]含义
int argc:用户在运行程序的命令行的参数个数,在VS中默认为1。
char *argv[]:字符串数组,其各元素值为命令行中各字符串的首地址,指针数组的长度为参数个数argc。
- argv[0] 程序的全名
- argv[1]指向在DOS命令中执行程序名后的第一个字符串
- argv[2]指向执行程序名后的第二个字符串
- argv[3]指向执行程序名后的第三个字符串
- argv[argc]为null
如:
int main(int argc, char*argv[])
{
for(int i = 0; i < argc; ++i)
{
cout << argv[i] << endl;
}
return 0;
}
输入:
./test.exe fake.exe real.exe
argc = 3
输出:
argv[0] = “./test.exe”
argv[1] = “fake.exe”
argv[2] = “real.exe”