
正文
C语言忽略函数 c语言忽略符号
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言中有类似strstr但是忽略大小写的库函数吗
没有,C的标准库函数中并没有stristr之类的函数,可以自己写一个
extern char* stristr(const char* pString, const char* pFind)
{
char* char1 = NULL;
char* char2 = NULL;
if((pString == NULL) || (pFind == NULL) || (strlen(pString) strlen(pFind)))
{
return NULL;
}
for(char1 = (char*)pString; (*char1) != '/0'; ++char1)
{
char* char3 = char1;
for(char2 = (char*)pFind; (*char2) != '/0' (*char1) != '/0'; ++char2, ++char1)
{
char c1 = (*char1) 0xDF;
char c2 = (*char2) 0xDF;
if((c1 != c2) || (((c1 0x5A) || (c1 0x41)) (*char1 != *char2)))
break;
}
if((*char2) == '/0')
return char3;
char1 = char3;
}
return NULL;
}
相关问答
Q1: c语言中,怎么忽略输入字符串中的空格符。
字符串输入可以用scanf函数和gets函数。scanf函数是当输入C语言忽略函数的数据遇到空格就停止。比如输入数据kkkkkk ssssss sssaa11。用scanf("%s",str);得到的str为"kkkkkk"C语言忽略函数,而空格后面的东西不会赋值给str。而使用gets(str);得到的str为kkkkkk ssssss sssaa11。gets函数是将一整行包括空格都赋值给str。对于C语言忽略函数你给的例子。main里面的代码为C语言忽略函数:
main()
{
char str[10];
gets(str);
puts(str);
return(0);
}
输出结果就是a b c。
Q2: c语言的scanf接收到底是忽略空格还是不忽略呢?
举几个例子,或许你就对这个函数理解了,由于一般都是用这两个字符控制输入C语言忽略函数的,所以只讨论空格回车的情况
1.输入数据为非char类型的情况:
int a, b;
scanf("%d%d",a,b);
此时的输入方式可以是1空格2
或者1空格空格。。2
或者1回车2
或者1回车回车。。2
此时可以得出结论,scanf接收不但忽略空格还忽略回车
int a, b;
scanf("%d,%d",a,b);
此时的输入方式可以是1,空格2
或者1,空格空格。。2
或者1,回车2
或者1,回车回车。。2 (只需要保证1紧接着逗号就行,随便奇葩的输入都正确)
此时可以得出结论,scanf接收不但忽略空格还忽略回车,但是在有逗号的情况下必须遵循一定的格式,否则出错。
2.再看输入数据为char类型的情况:
char a, b;
scanf("%c%c",a,b);// 或者scanf("%c,%c",a,b);
此时的输入只能按格式来,不会忽略任何字符。
就说这么多了,可能你考虑的比较多,C语言忽略函数我有没说到的,若有疑问可以提出来一起讨论下
C语言忽略函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言忽略符号、C语言忽略函数的信息别忘了在本站进行查找喔。







