您的位置:首页 > 编程语言 > C语言/C++

【C/C++】strcpy,strncpy和strchr

2016-06-21 22:12 411 查看

一、strcpy与strncpy的不同之处

这两个函数都有拷贝字符串的功能

函数原型:

char *strcpy( char *str1, const char *str2);//str1是要复制到的字符串,str2是被复制的字符串

char *strncpy( char *str1, const char *str2, size_t count );//这里多了一个元素count

而这个count就是这两个函数的不同之处

strncpy的作用就是讲字符串str2中的前count个元素拷贝给str1

二、strcpy与strncpy的实例

strcpy代码块:

#include<stdio.h>
#include<string.h>
int main()
{
char str1[15] = {0};
char str2[15] = {1,2,3,4};
strcpy(str1,str2);
puts(str1);
return 0;
}

运行结果



注:运行正确,因为字符串里存的是ASCI码,puts输出的是字符,所以是ASCI码前4个图形

strncpy代码块:

#include<stdio.h>
#include<string.h>
int main()
{
char str1[15] = {0};
char str2[15] = {1,2,3,4};
strncpy(str1,str2,1);
puts(str1);
return 0;
}

运行结果



三、strchr

函数名称: strchr

函数原型: char* strchr(char* str,char ch);

函数功能: 找出str指向的字符串中第一次出现字符ch的位置

函数返回: 返回指向该位置的指针,如找不到,则返回空指针

参数说明: str-待搜索的字符串,ch-查找的字符

所属文件: <string.h>

strchr代码块

#include<string.h>
#include<stdio.h>
int main()
{
char string[50];//定义一个字符串数组string
char *ptr;
char c= 'h';//定义指针变量ptr,和字符类型的变量c并赋值为'h';
strcpy(string,"welcome to haohaosong's blog");
puts(string);
ptr=strchr(string,c);//将从字符串数组里找出的'h'返回给ptr
if(ptr)//判断是否有值
printf( "这个字符 '%c' 所在的位置:   %d\n ",c,ptr-string);
else
printf( "没有找到该字符\n ");
return   0;
}



运行结果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: