#include <string.h>
char *strcpy(char *dest,char *src);
char *strdup(const char *s);
char *strndup(const char *s, size_t n);
void *memcpy(void *dest, const void *src, int n)
void *memmove( void* dest, const void* src, size_tcount )
strcpy 把src所指由NULL结束的字符串复制到dest所指的数组中,src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。
strdup()主要是拷贝字符串s的一个副本,由函数返回值返回,这个副本有自己的内存空间,和s不相干。
strndup()就是,拷贝的时候,最多拷贝n个字符,如果s的长度大于n,后面的就略去。
memcpy 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中,与strcpy相比,memcpy并不是遇到'\0'就结束,而是一定会拷贝完n个字节,如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址;注意,source和destin都不一定是数组,任意的可读写的空间均可。
memmove由src所指内存区域复制count个字节到dest所指内存区域,src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针。
code for example:
//str copy
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define BUFFER_SIZE 128
int main(){
char s1[]="Linux C Programming";
char s2[]={'a','b','c','\0'};//must add \0
char s[]={'a','b','c'};
char d1[BUFFER_SIZE];
char d2[BUFFER_SIZE];
//功能:把src所指由NULL结束的字符串复制到dest所指的数组中
strcpy(d1,s1);
strcpy(d2,s2);
printf("%s\n",d1);
printf("%s\n",d2);
//返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放
char *dup=strdup(s2);
printf("%s\n",dup);
free(dup);
//而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等,根据其第3个参数决定复制的长度
char men[BUFFER_SIZE];
memcpy(men,s,3);
men[strlen(s)]='\0';
printf("%s\n",men);
//void *memmove( void* dest, const void* src, size_t count),由src所指内存区域复制count个字节到dest所指内存区域,src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针
memmove(s1,s1+6,(strlen(s1)-6));
s1[strlen(s1)-6]='\0';
printf("%s\n",s1);
return 0;
}
分享到:
相关推荐
功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) { char string[10]; char *str1 = ...
c语言字符串个函数操作大全 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 函数名: strcat 功 能: 字符串拼接函数 用 法: char *strcat(char *destin, char *source); 函数名: strchr 功 能: 在一个串中...
2. strcpy(), 字符串拷贝. char *strcpy(char *destination, const char *source) { while(*destinaton++=*source++); return (destination-1); } 3. strcat(), 字符串的连接. char *strcat(char *targe
定义一个新的与传递过来字符串长度 相等的字符数组,然后进行字符串拷贝,把str字符按从左到右放置到字符数组中,然后采用循环来对字符数组中字符反转*//*第一种,采用以上思路解法,传递为const类型C风格字符指针,返回...
在编写程序的过程中,我们经常使用到一些字符串函数,例如求字符串长度,拷贝字符串……,这些函数都在C标准库中存在,我们可以直接使用。但我们还需要掌握这些函数的实现方法,今天来看看一些常用的字符串操作函数...
使用引用计数管理相同的字符串,避免不必要的字符串拷贝 支持深拷贝(deepcopy) 缓存字符串哈希值,更快的字符串比较操作 同时,我也希望能够做到: 线程安全 在QString库中,我们使用qstring标识符声明一个QString...
功 能: 拷贝一个字符串到另一个,遇到’\0’时停止拷贝,destin要有足够大的空间 用 法: char *stpcpy(char *destin, char *source); 函数名: strcat 功 能: 字符串拼接函数,注意,destin要有足够大的空间 用 法...
C/C++面试之算法系列--几个典型的内存拷贝及字符串函数实现 写一个函数,完成内存之间的拷贝。[考虑问题是否全面,是否考虑内存重叠问题] 返回void *支持链式操作,参数类型是void *以支持任意类型的指针,输入...
pyperclip模块有copy()和paste()函数,可以向计算机的剪贴板发送文本,或从它接收文本。将程序的输出发送到剪贴板,使它很容易粘贴到邮件、文字...pyperclip.copy()和键盘上的Ctrl+C作用一样,会把字符串传入到粘贴板;
在C++中,`std::string` 类已经提供了丰富的方法来处理字符串,以下是 `std::string` 类的一些常用方法... - `operator+`: 字符串连接操作符,用于将两个字符串连接起来。 - `append()`: 将一个字符串追加到另一个字符
replace()方法返回当前old换成new,...此方法返回字符串的拷贝与旧子串出现的所有被新的所取代。如果可选参数最大值给定,只有第一个计数发生替换。 例子 下面的示例演示了replace()方法的使用。 #!/usr/bin/python st
* `operator=`: 赋值操作符,用于将一个字符串赋值给另一个字符串。 3. **访问元素** * `at(size_type pos) const`: 返回位置 `pos` 的字符(如果 `pos` 超出范围,则抛出 `std::out_of_range` 异常)。 * `...
5.内存及字符串操作篇 36 5.1 36 bcmp(比较内存内容) 36 5.2 36 bcopy(拷贝内存内容) 36 5.3 37 bzero(将一段内存内容全清为零) 37 5.4 37 index(查找字符串中第一个出现的指定字符) 37 5.5. 37 memccpy...
nclob 1~4GB 保存本地语言字符集数据 blob 1~4GB 以二进制信息保存数据 三、 DDL语言 1. Create table命令 用于创建表。在创建表时,经常会创建该表的主键、外键、唯一约束、Check约束等 语法结构 create table...
鉴于 memcpy 函数等长拷贝的特点以及数据类型代表的物理意义,memcpy 函数通常限于同种类型数据或对象之间的拷贝,其中当然也包括字符串拷贝以及基本数据类型的拷贝。 <br>对于字符串拷贝来说,用上述三个函数都...
4、 写一个3D矢量类CVector3D,要求含三种构造函数,并有拷贝,点积,叉积,求模,单位化等操作,并实现”+; -; =; ==; +=; -=; *; [ ]” 等运算符的重载。(用C++实现) 5、 请编写一个家庭收支管理程序,要求可以...
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。 本章介绍数值数组和字符数组,其余的在以后各章陆续介绍。数组类型说明 在C语言中使用数组必须先进行类型说明。 ...
当然,你首先必须自己转换字符串,然后将已转换的消息表资源嵌入你的.exe文件或DLL模块,不过,这时该函数会选定正确的嵌入对象。ErrorShow示例应用程序(本章后面将加以介绍)展示了如何调用该函数,以便将...
031 判断字符串是否回文 032 通讯录的输入输出 033 扑克牌的结构表示 034 用“结构”统计学生成绩 035 报数游戏 036 模拟社会关系 037 统计文件的字符数 038 同时显示两个文件的内容 039 简单的文本编辑器 ...
字符串相关操作: strcpy(s1,s2)复制s2为s1; strcmp(s1,s2)比较s1和s2字符串内容是否相同 strcat(s1,s2)拼接字符串,把s2拼接在s1的末尾 strchr(s1,ch)找到s1这个字符串里面第一次出现ch这个字符的位置...