我想处理一些char变量,并希望得到一些函数列表,这些函数可以在处理字符时执行这些任务。
我很确定这些方法中有一些存在于stdio.h等库中,但google不是我的朋友。
编辑:我的第3个问题意味着不是与strcmp直接匹配,而是单个字符匹配(例如,如果“嘿”和“你好”)e是普通字母。
答案 0 :(得分:3)
var_name[0]
获取第一个字符(数组索引从0
运行到N - 1
,其中N
是数组中元素的数量。)var_name[strlen(var_name) - 1]
获取最后一个字符。strcmp()
比较两个char
字符串。编辑:
要搜索字符串中的字符,您可以使用strchr
():
if (strchr("hello", 'e') && strchr("hey", 'e'))
{
}
还有strpbrk()
函数可以指示两个字符串是否有任何共同字符:
if (strpbrk("hello", "hey"))
{
}
假设你的意思是char[]
,而不是char
是一个单个字符。
答案 1 :(得分:1)
strlen()给出了字符串的长度,以及我对1.的回答 char lastchar = var_name [strlen(var_name)-1]; http://www.cplusplus.com/reference/clibrary/cstring/strlen/
strcmp(var_name1,var_name2)== 0. http://www.cplusplus.com/reference/clibrary/cstring/strcmp/
答案 2 :(得分:0)
您正在寻找的是C runtime library中的字符串函数。这些是在string.h中定义的,而不是stdio.h。
但是你的问题清单很简单:
var_name [0]非常适合访问数组中的第一个char。 var_name [1]不起作用,因为C中的数组是从零开始的。
数组中的最后一个字符是:
char c;
c = var_name[strlen(var_name)-1];
测试平等很简单:
if (var_name[0] == var_name[1])
; // they match
答案 3 :(得分:0)
我很确定这些方法中有一些存在于库等中 stdio.h左右,但谷歌不是我的朋友。
头文件中描述了C标准库(libc)中的字符串函数。如果您使用的是unix-ish计算机,请尝试在命令行键入man 3 string
。然后,您可以再次使用man
程序获取有关特定功能的更多信息,例如man 3 strlen
。 ('3'告诉man
查看“第3节”,它描述了C标准库函数。)
答案 4 :(得分:0)
C和C ++字符串为零索引。保存特定长度字符串所需的内存必须至少为字符串长度,字符串终止符为0的一个字符。所以,第一个字符是数组[0]。
正如@Carey Gregory所说,基本的字符串处理函数在string.h中。但这些只是处理字符串的原语。 C是一种低级语言,您有机会根据string.h中的函数构建自己的字符串处理库。
例如,您可能希望将字符串指针传递给函数,也可以传递保存该字符串的缓冲区的长度,而不仅仅是字符串长度本身。