美文网首页
字符串及函数

字符串及函数

作者: 追風 | 来源:发表于2016-12-17 09:41 被阅读0次

字符串

  • 字符和字符串赋值
    char arr[10] = {'a','x','s','w','e','r','t'}; //未赋值的按0填满 char buf[10] = "gjdhajgfg"; //字符串以\0结尾,不显示 小知识:getchar()有吸收字符的作用
  • get()和put()
    get() //从键盘输入,可以接收输入的空格,此函数由bug,编译有警告不建议使用 puts() //输出字符串,自动换行,无需换行符
  • fgets()和fputs()
    fgets() //获得数据 fputts() //输出数据,自动换行
#include<stdio.h>
int main()
{
    char arr[128];
    printf(input string:);
    fgets(arr, sizeof(arr), stdin); //stdin标准输入,sizeof(arr)也可以是常量
    fputs(arr, stdout)            //stdout 标准输出
    return 0;
}
  • 指针与字符串
#include<stdio.h>
int main()
{
    char *p = "hello, 2017!"; //字符串常量地址直接赋值
    printf("%s\n", p);
    p = "hi, shanghai!"
    printf("%s\n", p);
    p[2] = 't';    //ERROR,常量不可变
    printf("%s\n", p);
    return 0;
}
  • 字符串相关函数
#include<stdio.h>
int main()
{
    char arr[32] ="tomorrow!";
    char buf[32] = "today!";
    //统计数组arr中字符串长度,“\0” 不计入长度中,sizeof(arr)统计定义的长度   
    strlen(arr);                 
    int ret1 = strcmp(arr,buf); //arr和buf逐个字符比较
    printf("ret1 = %d\n",ret);           //结果非0
    int ret2 = strcmp(buf,arr); //和上面的比较结果相反
    printf("ret2 = %\nd",ret2);
    char buf1[32] = "yestoday";
    int ret3 = strcmp(buf,buf1); 
    printf("ret3 = %d\n",ret3); //比较结果为0
    strcat(arr,buf); //将buf中内容拼接到arr中,注意arr空间要能放进buf
    printf("arr = %s\n",arr);
    strcpy(arr,buf);  //将buf中内容拷贝到arr中
    printf("arr = %s\n", arr);
    return 0;
}

相关文章

网友评论

      本文标题:字符串及函数

      本文链接:https://www.haomeiwen.com/subject/kmrnmttx.html