万链网站做的怎么样?,百度seo服务方案,广州网站开发公司,织梦xml网站地图strtok#xff08;分割字符串#xff09; char * strtok ( char * str, const char * sep ); sep参数是个字符串#xff0c;定义了用作分隔符的字符集合 第一个参数指定一个字符串#xff0c;它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标 记。strtok函数找…strtok分割字符串 char * strtok ( char * str, const char * sep ); sep参数是个字符串定义了用作分隔符的字符集合 第一个参数指定一个字符串它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标 记。strtok函数找到str中的下一个标记并将其用 \0 结尾返回一个指向这个标记的指针。注 strtok函数会改变被操作的字符串所以在使用strtok函数切分的字符串一般都是临时拷贝的内容 并且可修改。strtok函数的第一个参数不为 NULL 函数将找到str中第一个标记strtok函数将保存它在字符串 中的位置。strtok函数的第一个参数为 NULL 函数将在同一个字符串中被保存的位置开始查找下一个标 记。如果字符串中不存在更多的标记则返回 NULL 指针。
这个函数什么意思呢
比如一个字符串为 zpwbitedu.tech 我们要拆分为 zpw bitedu tech 三个字符串把和.作为分隔符
char arr[] zpwbitedu.tech;const char* p .;
使用这个函数就会把改为\0同时把z的地址返回来
调用一次函数只能切割一次
strtok有某种记忆的功能他会记住把分隔符变成\0的位置
怎么使用呢
#includestring.h
int main()
{char arr[] zpwbitedu.tech;const char* p .;char buf[1024] { 0 };strcpy(buf, arr);const char*retstrtok(arr, p);printf(%s\n, ret);ret strtok(NULL, p);printf(%s\n, ret);ret strtok(NULL, p);printf(%s\n, ret);return 0;
}
更加优化的代码
int main()
{char arr[] zpwbitedu.tech;const char* p .;char buf[1024] { 0 };strcpy(buf, arr);char* ret NULL;for (ret strtok(arr, p); ret ! NULL; ret strtok(NULL, p)){printf(%s\n, ret);}return 0;
}
字符转换函数
int tolower ( int c );//将大写变成小写的函数如果传入的是小写字母不受影响
#includectype.h
int main()
{char ch tolower(Q);putchar(ch);return 0;
}
int toupper ( int c );//将小写变成大写的函数如果传入的是大写字母不受影响
#includectype.h
int main()
{char ch toupper(q);putchar(ch);return 0;
}
如果把一串字符串变成小写可以使用循环来解决。
#includectype.h
int main()
{/*char ch toupper(q);*/char arr[] I AM A student;int i 0;while (arr[i]){if (isupper(arr[i])){arr[i]tolower(arr[i]);}i;}printf(%s\n, arr);return 0;
} isupper 如果他的参数符合下列条件就返回真 判断大写字母A~Z 其他字符分类函数如下返回真是指返回不为0的数 函数 如果他的参数符合下列条件就返回真 iscntrl 任何控制字符 isspace 空白字符空格‘ ’换页‘\f’换行\n回车‘\r’制表符\t或者垂直制表符\v isdigit 十进制数字 0~9 islower 小写字母a~z isupper 大写字母A~Z isalpha 字母a~z或A~Z isalnum 字母或者数字a~z,A~Z,0~9