美文网首页C语言学习随笔
C语言字符串和字符串函数

C语言字符串和字符串函数

作者: KnighTovi | 来源:发表于2018-07-30 15:59 被阅读0次

1.

  A)字符串输入

  1)gets()函数读取整行输入,直至遇到换行符,然后丢弃换行符,储存其余字符,并在这些字符的末尾添加一个空字符使其成为一个C字符串

    例:

    char words[length];

    gets(words); //但是如果输入的字符串长度大于length,会导致缓冲区溢出

  2)fgets(words,length,stdin<表示从键盘输入>)函数通过第二个参数限制读入的字符数来解决溢出问题,如果输入过多,会截取length大小的那一段;如果输入中遇到换行符,会把它储存在字符串中

    fgets()函数返回char的指针,如果函数读到文件结尾,他将返回一个特殊的指针:空指针

    fputs(words,stdout)函数用于显示输出,并且不在字符串末尾添加换行符

例:

char words[length];

fgets(words,length,stdin);

fputs(words,stdout);

  3)gets_s()函数只从标准输入中读取输入,并在在读到换行符会丢弃它而不是存储它

  4)s_gets()

    示例代码:

char * s_gets(char * st,int n)

{

    char * ret_val;//最后返回的字符串

int i = 0;

ret_val = fgets(st,n,stdin);

if(ret_val)//即 ret_val!=null

{

    while(st[i] != '\n' && st[i] != '\0')

      i++;

    if(st[i] == '\n')

      st[i] = '\0';//将是换行符的地方变成空字符

    else

      while(getchar() != '\n') //抛弃换行符

        continue;

}

return ret_val;

}

  5)scanf()函数:更像是“获取单词”函数,而不是“获取字符串”函数

  B)字符串输出

  1)puts()函数只显示字符串,而且自动在显示的字符串末尾加上换行符,在遇到空字符时就停止输出

    例:puts("hello world.");

  2)fputs(words,stdout)函数用于显示输出,并且不在字符串末尾添加换行符

例:

char words[length];

fgets(words,length,stdin);

fputs(words,stdout);

  3)printf()函数不会自动在每个字符串末尾加上一个换行符

2.如果要在字符串内部使用双引号,必须在双引号前面加上一个反斜杠(\)

3.字符串常量属于静态存储类别,这说明如果在函数中使用字符串常量,该字符串只会被储存一次,在整个程序的生命期内存在,即使

函数被调用多次。用双引号括起来的内容被视为指向该字符串储存位置的指针。

4.初始化数组把静态存储区的字符串拷贝到数组中,而初始化指针只把字符串的地址拷贝给指针

5.字符串函数

  1)strlen()函数用于统计字符串的长度

  2)strcat()函数用于拼接字符串

  3)strncat()函数指定了最大添加字符数

  4)strcmp()函数用于字符串比较

  5)strncmp()函数可以比较到第三个参数指定的字符数

  6)strcpy()函数相当于是字符串赋值运算符

  7)strncpy()函数可以指明可拷贝的最大字符数

  8)sprintf()函数把数据写入字符串,而不是打印在显示器上

6.声明数组将分配存储数据的空间,声明指针只分配储存一个地址的空间

相关文章

  • Redis 源码简洁剖析 02 - SDS 字符串

    C 语言的字符串函数 C 语言 string 函数[https://devdocs.io/c-strings/],...

  • (三)C语言之字符串与字符串函数

    (三)C语言之字符串与字符串函数 字符串与字符串函数 1. 字符串 使用字符数组存储字符串,\0 表示结束符,字符...

  • C++11新特性(20)-用string对象处理文件名

    C风格字符串 从C语言开始,就已经实现了对字符串的支持。为了处理C风格字符串,C语言标准库提供了一组函数,它们被定...

  • C语言18 指针与字符串

    C语言18 指针与字符串 字符串的几种表示方式有什么区别? 常用的字符串函数 指针函数 本质就是函数,只不过函数的...

  • 字符串函数

    字符串转换类函数 addcslashes函数:以C语言风格使用反斜线转义字符串中的字符addslashes函数:使...

  • 39_字符串类的创建(上)

    关键词: 0. 历史遗留问题 C语言不支持真正意义上的字符串 C语言用字符数组和一组函数实现字符串操作 C语言不支...

  • R 包学习 - stringr()

    stringr: R 语言字符串处理包 字符串拼接函数str_c: 字符串拼接。str_join: 字符串拼接,同...

  • C++中数组操作符的重载

    字符串类的兼容性 存在的一些历史遗留问题C语言不支持真正意义上的字符串C语言用字符数组和一组函数实现字符串操作C语...

  • 【C语言】字符串输入输出函数

    字符串输出函数:puts 字符串输入函数:gets 在C语言中用于输入输出的字符串函数使用前应包含头文件"stdi...

  • PHP字符串的操作函数

    1 字符串转换类函数 addcslashes函数:以C语言风格使用反斜线转义字符串中的字符 addslashes函...

网友评论

    本文标题:C语言字符串和字符串函数

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