【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; }
运行结果
相关文章推荐
- Single Number III
- C语言实现判断素数,回文数,水仙花数,闰年
- 快速排序
- 图片处理(一)之BMP格式24bit转16bit
- Ugly Number II
- 书籍--嵌入式C语言
- static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
- ISO C++11 doesn't allow conversion from string literal to 'char*'
- C++ string erase //适用于所有C++ 容器
- c /c++中日期和时间的获取:strftime()函数
- Missing Number
- 该日在本年第几天
- C++设计模式系列之一创建型模式
- H-Index II
- H-Index
- C++
- 在C++中定义全局变量时避免重复定义
- Android手机运行c/c++程序
- C++惯用法之SFINAE
- C++遍历文件夹