C -- 字符串和字符串函数

一、函数  gets( ), puts( ), strcat( ), strncat( ), strcmp( ), strncmp( ), strcpy( ), strncpy( ), sprintf( ), strstr( )

二、创建和使用字符串

三、利用C库里的字符串和字符串函数创建自己的字符串函数

四‘、使用命令行参数


字体串是以空字符( \0 )结尾的char数据。


定义字符串的基本方法:字符串常量、char数组、char指针、字符串数组。

字符串常量(字符串文字):指位于一对双引号中的任何字符。(双引号里的字符加上编译器自己动提供的结束标志\0字符)

字符串数组及其初始化:const char str[10] = "abcdde"; //正确 ,并且这个字符串不可更改

                                            char str[] = "adsfasdf"; //正确,编译器会自己通过查找空字符来确定字符串的结束

    char str[]; //错误。不知道给str分配多大的空间


数组与指针:数组初始化是从静态存储区把一个字符串复制给数组,而指针初始化只是复制字符串的地址。

char  a[] = "wo haha!";  数组名 a 是个常量(等于&a[0]),其值不能改变。不可以使用 a++;

char *b = "wo haha";    指针 b 是个变量,其值可以改变。可以使用 b++;


字符串数组 

char *str[2] = {

"abcasdf",

"adsfeef"

}                                       str是一个由2个指向char的指针组成的数组,也就是说str是一个一维数组,每一个元素都是一个char类型的地址


字符串输入:

如果想把一个字符串读到程序中,必须先预留存储字符串的空间,然后使用输入函数来获取这个字符串。

char *str;   scanf("%s",str);  //  错误 ,这可能会通过编译器,但还是错误的。因为不要指望计算机读的时候会计算字符串的长度,然后为字符串分配空间。

正确的做法是:在声明中明确指出数组大小( 如 char name[81] )   使用C库里分配存储空间的函数


{

NULL指针是一个 空指针,并且值为0。一个指针,拥有2个属性--地址值和指针类型。

EOF:C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。

}

gets( )函数 返回的是字符串的地址。【不会检查存储区是否能够容纳实际输入的数据,多出来的字符简单地溢出到相邻的内存区。

fgets( )函数 有三个参数,它的使用比gets( )安全。它会让你指定最大读入字符数。


字符串输出: puts( )     fputs( )     printf( )

 puts( ) : 只需要给出字符串参数的地址

fputs( ) :需要两个参数。(第二个参数说明要写的文件)


可以使用getchar( )和putchar( )建立自己的函数。


字符串函数:(string.h)

strlen( ) strcat( ) strncat( ) strcmp( )       strncmp( ) strcpy( )   strncpy( )




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值