字符数组和字符串

一开始从看strcmp 和strleg等函数开始,发觉strcmp函数的语法是这样:

要包含头文件

传入的参数为字符指针变量,这不禁让我有点迷糊了,因为对于函数的传参而言,本来就不是很懂,又加上一个指针,有点····

在C Free 的参考手册上看到关于strcmp函数的一个例子,如下:  

         printf( "Enter your name: " );

    scanf( "%s", name );
    if( strcmp( name, "Mary" ) == 0 )
      printf( "Hello, Dr. Mary!\n" );

首先肯定要对name变量定义(C中先定义,后使用),可以用char name[10] 或者 char *name进行定义。

字符数组既可以当作普通数组也可以用于存储和处理字符串

字符数组的初始化: char str[ 5 ] = { 'I', 'L', 'O', 'V', ' E'}; char str1[ 5]={"ILOVE"}(这里大括号可以省略); 

字符串的输入格式: scanf 函数和 gets 函数(char str[ ]   gets(str)  )

字符串的输出格斯: printf函数和 puts函数  (基本没区别,只是在输出大量字符串时 gets 和 puts 快一点)

字符串处理函数:strcmp、strlen、strcat、strcpy四个基本函数。

1、strcmp()函数比较字符串str1 andstr2, 是按照ascall来比较的

#include <string.h>  函数的结构如下

  int strcmp( const char *str1, const char *str2 );

返回值

解释

less than 0

str1 is less than str2

equal to 0

str1 is equal to str2

greater than 0

str1 is greater than str2

 

2、strlen()函数返回字符串str 的长度

#include <string.h>

  size_t strlen( char *str );

那么strlen与sizeof的区别,查看http://baike.baidu.com/view/736226.htm

3、strcat()函数将字符串str2 连接到str1的末端,并返回指针str1.废话不多说,直接看程序

#include<iostream>
#include <string.h>
using namespace std;
int main()
{
    char name[10];
    char *title;
    //char * name;
    printf( "Enter your name: " );
    gets(  name );
    title = strcat( name, " the Great" );
    printf( "Hello, %s\n", title );
	
  // return 0;
}

4、strcpy() 复制字符串from 中的字符到字符串to,包括空值结束符。返回值为指针to(去,这里编辑太不方便了····)

#include <string.h>

  char *strcpy( char *to, const char *from );

 

字符数组的基本用法以及相关函数暂时分析到这,下面去看看那个string的相关用法 这个也迷倒了我好一阵了

C++中抛弃了C语言中的char*的字符串而选用standard program library中的string类。因为不必担心内存是否足够、字符串长度等等

包含的头文件   #include<string>

具体详情请看下一篇 C++中string的用法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值