CMS程序网 加入收藏  -  设为首页
您的位置:CMS程序网 > 知识库 > 正文
如何初始化char数组
如何初始化char数组
提示:

如何初始化char数组

初始化char数组: char str[10]="Hello";char str[10]={'H','e','l','l','o','\0'};char str[10]={'H'};char str[10]={0}; char str[10]="Hello, world.\n"; char str[]="Hello, world.\n";第一种情况:初始化数据小于数组长度如前面两个初始化的例子,这两个例子的效果一样,前五个字符为Hello,剩余的用'\0'填充第三行与第四行,都只指定了第一个字符,剩余的全部用'\0'填充。第四个例子相当将整个数组初始化为'\0' 第二种情况:初始化数据等于或超过数据长度这种情况下,超出的部分将被丢弃,所以最五个例子的最后一个字符为'r'.此时使用一些字符串函数时要特别注意,因为该数组不含有'\0',会造成不可预期的结果 第三种情况:不指定数组长度这种情况下,数组部分如果不含有明确指定的'\0',那么编译时会被自动添加一个'\0';在数组不含有明确的'\0'时,sizeof=strlen+1

awk 如何判断一个value是否在数组中
提示:

awk 如何判断一个value是否在数组中

list1=('~' '!' '@' '#' '$')str="ex@mple"spec_str=$(echo ${list1[*]} | sed 's/\ //g')printf "$str" | awk -v spec_str=$spec_str '{ for (i = 1; i <= length(spec_str); ++i) { pos = index($0, substr(spec_str, i, 1)) if (pos != 0) { printf "include char %s at %s\n", substr(spec_str, i, 1), pos exit } }}'

输出如下,具体需求你自己根据需要调整:
include char @ at 3