C函数之index、strtoul
2024-09-03 03:39:14
index函数
函数定义:
#include<strings.h> char *index(const char *s, int c);
函数说明:
找出参数s字符串中第一个出现参数c的地址,然后将该字符串出现的地址返回。字符串结束字符(NULL)也视为字符串的一部分。
返回值:
如果找到指定的字符,则返回字符所在地址,否则返回NULL
实例:
/***
index.c
***/
#include<stdio.h>
#include<strings.h> int main()
{
char *s = "abcdef1234567abcdef";
char *p = NULL; p = index(s, 'b');
printf("%s\n",p);
return ;
}
运行结果:
strtoul函数
函数原型:
#include<stdlib.h> unsigned long int strtoul(const char *nptr, char **endptr, int base); unsigned long long int strtoull(const char *nptr, char **endptr,int base);
参数介绍:
nptr: 字符串起始位置
endptr: 返回字符串有效数字的结尾地址。如123456fe789,则返回f的地址。
base: 转化基数。范围2~36,或0代表nptr采用的进制方式。
功能描述:
把输入的字符串转换成数字,该函数会扫描参数nptr字符串,跳过签过的空白字符(例如空格,tab键,可以通过isspace()函数来检测),知道遇到数字或正负符号才开始转换,在遇到非数字或字符串结束时(’\0’)结束转换,并将结果返回。
注意:
当 base 的值为 0 时,默认采用 10 进制转换,但如果遇到 '0x' / '0X' 前置字符则会使用 16 进制转换,遇到 '0' 前置字符则会使用 8 进制转换。
若 endptr 不为NULL,则会将遇到的不符合条件而终止的字符指针由 endptr 传回;若 endptr 为 NULL,则表示该参数无效,或不使用该参数。
实例1:
输入字符串,base值为2,二进制转换。
/***
strtoul_base2.c
***/
#include<stdio.h>
#include<stdlib.h> int main()
{
char buffer[];
unsigned long lu;
char *endptr; while()
{
printf("Enter an unsigned number: ");
fgets(buffer, , stdin);
lu = strtoul(buffer, &endptr, );
printf("Value entered:%lu, the address of first invalid character is %d, invalid characer = %s\n",
lu,endptr,endptr);
} return ;
}
最新文章
- openwrt下部署adbyby去广告大师 免luci 带自启动,自动开启透明代理
- C# 扩展系统类方法
- Map以及Set的遍历(EntrySet方法,补充enumeration和Iterator的区别)
- 移动端自动化环境搭建-Appium for Windows的安装
- 【python】——小程序之电话薄
- Java生成公私钥对
- socket学习笔记——线程(聊天程序)
- 对LVS DR模式的理解
- 相对完美的后台Service实现播放音乐功能
- 一个用python实现的东方时尚(驾校)抢课程序
- 证明N={1,2,...,n,...}最高万元 黄晓宁
- C++:LIB和DLL的区别与使用
- 【先验知识归纳】Flask快速入门
- oracle 11g RAC日志分布
- 电子签名在K2中的应用
- python中的集合
- 十七、springcloud(三)服务的注册与调用
- yii2 下拉菜单
- [No0000105]java sdk 开发环境变量powershell 自动配置脚本
- 【Java】 二叉树的遍历(递归与循环+层序遍历)