strncasecmp函数--比较字符串,忽略大小写差异+sscanf格式选择存储字符串+atoi函数

本文介绍了strncasecmp函数,用于比较两个字符串的前n个字符并忽略大小写,返回值表示字符串之间的关系。同时讲解了sscanf函数,它能按指定格式从字符串读取数据,并通过示例展示了如何使用。最后提到了atoi函数,该函数将字符串转换为整数,当遇到非数字字符时停止转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相关函数bcmp,memcmp, strcmp, strcoll, strncmp
表头文件:#include <string.h>
函数定义:int strncasecmp(const char *s1, const char *s2, size_t n)
函数说明: strncasecmp()用来比较参数s1和s2字符串前n个字符,比较时会自动忽略大小写的差异。
返回值 : 若参数s1和s2字符串相同,则返回0; 若s1大于s2,则返回大于0的值; 若s1小于s2,则返回小于0的值。
#include <string.h>
main()
{
char *a="aBcddfefekr";
char *b="AbCddfefekr";
printf("%d\n", strncasecmp(a, b));
}
sscanf
sscanf() - 从一个字符串中读进与指定格式相符的数据。
成功则返回参数数目,失败则返回0,错误原因存于errno中。
函数原型:
int sscanf(  const  char *, const char *, ...);
int sscanf(const char *buffer,const char *format,[argument ]...);
buffer存储的数据
format格式控制字符串
argument 选择性设定字符串
sscanf会从buffer里读进数据,依照format的格式将数据写入到argument里。
代码示例:
int atoz(char *s)
{
int a;
if(!strncasecmp("0x", s, 2)){
sscanf(s, "%x", &a);
return a;
}
return atoi(s);//字符串转换成整型数。ASCII to integer 的缩写
}

atoi()函数
int atoi(const char *nptr);
参数nptr字符串,如果 第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回 整型数。否则,返回零,
头文件: #include < stdlib.h>
程序例:
1)
1
2
3
4
5
6
7
8
9
10
#include <stdlib.h>
#include <stdio.h>
int main( void )
{
   float n;
   char *str = "12345.67" ;
   n = atoi (str);
   printf ( "string = %s integer = %f\n" , str, n);
   return 0;
}
执行结果:
string = 12345.67 integer = 12345.0
2)
1
2
3
4
5
6
7
8
9
10
11
#include <stdlib.h>
#include <stdio.h>
int main()
{
   char a[] = "-100" ;
   char b[] = "123" ;
   int c ;
   c = atoi ( a ) + atoi ( b ) ;
   printf ( "c = %d\n" , c) ;
   return 0;
}
执行结果:
c = 23
简单的实现atoi函数 源代码
1
2
3
4
5
6
7
8
9
10
#include <cctype>
int my_atoi( const char * p){
   assert (p != NULL);
   bool neg_flag = false ; // 符号标记
   int res = 0; // 结果
   if (p[0] == '+' || p[0] == '-' )
     neg_flag = (*p++ != '+' );
   while ( isdigit (*p)) res = res*10 + (*p++ - '0' );
   return neg_flag ?0 -res : res;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值