C语言入门——字符串函数

单字符输入输出

putchar

  • int putchar(int c);
  • 向标准输出一个字符
  • 返回写了几个字符,EOF(-1)表示写失败

getchar

  • int getchar(void);
  • 从标准输入读入一个字符
  • 返回类型是int是为了返回EOF(-1)
#include<stdio.h>
int main()
{
	int ch;
	while((ch=getchar())!=EOF){
		putchar(ch);
	}
	return 0;
}

#include<string.h>

strlen

  • size_t strlen(const char *s);
  • 返回字符串s的长度(不包含‘\0’)
char line[]="Hello";
printf("strlen=%lu\n",strlen(line));  //5
printf("sizeof=%lu\n",sizeof(line));  //6

strcmp

  • int strcmp(const char* s1,const char* s2);
  • 比较两个字符串,返回:
    0:s1==s2;
    1:s1 > s2;
    -1: s1 < s2;
#include<stdio.h>
#include<string.h>

int main(int argc, char const* argv[])
{
	char s1[] = "abc";
	char s2[] = "abc";
	char s3[] = "Abc";
	printf("%d\n", strcmp(s1, s2));    //0
	printf("%d\n", strcmp(s1, s3));    //1
	printf("%d\n", strcmp(s3, s1));    //-1

	return 0;
}

strcpy

  • char *strcpy(char *restrict dst,char *restrict src);
  • 把src的字符串拷贝到dst
    restrict表明src和dst不重叠(c99)
  • 返回dst

复制一个字符串

  • char *dst=(char * )malloc(strlen(src)+1);
    strcpr(dst,src);

strcat

  • char* strcat(char *restrict s1,const char *restrict s2);
  • 把s2接到s1后面,接成一个长的字符串
  • 返回s1
  • s1必须有足够的空间

安全版本

  • char *strncpy(char *restrict dst,char *restrict src,size_t n);
    char *strncat(char restrict s1,const char restrict s2,size_t n);
    int strncmp(const char
    s1,const char
    s2,size_t n);

字符串搜索函数

  • char *strchr(const char *s,int c).//从左边开始,输出第一个c的位置
  • char *strrchr(const char *s,int c).//从右边开始,输出第一个c的位置
  • 返回NULL表示没有找到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值