字符串拷贝的简单C语言实现

#include <stdio.h>

void main()

{

char a[] = "123";

char b[10];

char *s, *p;

s = a;

p = b;

//取s的值,s自加,取p的值,p自加,将old_s的值赋给old_p

while(*p++ = *s++);

s = NULL;

p = NULL;

printf("%s\n", b);

}

时间: 2024-10-20 08:48:04

字符串拷贝的简单C语言实现的相关文章

c语言:两种方法实现字符串拷贝strcpy

实现字符串拷贝strcpy 方法一: // 字符串拷贝函数的实现 #include<stdio.h> #include<assert.h> void my_strcpy(char *dest,  char *src)//src表示source源,dest目标 { assert(dest!=NULL); assert(src); char *ret = dest; while (*dest++ = *src++) { ; } return dest; } int main() { c

makefile规则编写&amp;C语言字符串拷贝&amp;vim介绍

makefile规则:[email protected]:目标文件$^:所有的依赖文件$<:第一个依赖文件-c:输出目标代码,不输出可执行文件-g:编译器编译的时候提供以后对程序调试的信息target:rules    gcc -o [email protected] $^install:    cp target /usr/local/binclean:    rm target    lib库查找方法:nm -o /lib/*.so | grep "函数名字" nm -o /

C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点

1 首先介绍几个常用到的转义符 (1)     换行符"\n", ASCII值为10: (2)     回车符"\r", ASCII值为13: (3)     水平制表符"\t", ASCII值为 9: (4)     空字符"\0" ,ASCII值为0: (5)     空:NULL (即为0): (6)     空格键space, ASCII值为32: 2 常用输入输出函数 scanf() , 从缓冲区读入数据,以空格,制

Strlcpy和strlcat——一致的、安全的字符串拷贝和串接函数

概述 随着流行的缓冲区溢出攻击的增加,越来越多程序员开始使用带有大小,即有长度限制的字符串函数,如strncpy() 和strncat() .尽管这种趋势令人十分鼓舞,但通常的标准C 字符串函数并不是专为此而设计的.本文介绍另一种直观的,一致的,天生安全的字符串拷贝API . 当函数 strncpy()和 strncat()作为 strcpy()和 strcat()的安全版本来使用时,仍然存在一些安全隐患. 这两函数以不同的,非直观的方式来处理NUL 结束符和长度参数,即使有经验的程序员也会混淆

C++内存问题大集合(指针问题,以及字符串拷贝问题,确实挺危险的)

作者:rendao.org,版权声明,转载必须征得同意. 内存越界,变量被篡改 memset时长度参数超出了数组长度,但memset当时并不会报错,而是操作了不应该操作的内存,导致变量被无端篡改 还可能导致内存越界的函数有memset.memcpy.memmove.strcpy.strncpy.strcat.sprintf等等 临时指针问题,std::string.wstring的c_str()是个临时指针 c_str()返回值是个char*/wchar_t*指针,这个数组的数据是临时的,当有一

Com组件的内存分配和释放,CredentialProvider SHStrDup 字符串拷贝问题

一.简介 熟悉CredentialProvider的同学应该知道,他为一个Com组件,于是,在这里的内存分配(字符串拷贝)的一系列操作就要按照con的标准来. 二.Com组件的内存分配和释放 COM提供的任务内存分配器,通过IMalloc接口调用.此接口由CoGetMalloc返回.分配内存可以使用IMalloc::Alloc,释放可由IMalloc::Free完成. 为了简化COM库封装了3个API函数来用于内存的分配和释放,如下: void *CoTaskMemAlloc(ULONG cb)

实现字符串检索strstr函数、字符串长度strlen函数、字符串拷贝strcpy函数

1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 5 /* 6 _Check_return_ _Ret_maybenull_ 7 inline char* __CRTDECL strstr(_In_z_ char* const _String, _In_z_ char const* const _SubString) 8 { 9 return const_cast<char*>

字符串拷贝函数strcpy写法_转

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// CppReference.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" using namespace std; /* * 说明:字符串拷贝版本1 * 参数:dest目标地址,src源地址 * 返回:返回拷贝好的地址:如果出错或者有重叠,无

虚怀若谷 字符串拷贝函数strcpy写法_转

Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->// CppReference.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" using namespace std; /* * 说明:字符串拷贝版本1 * 参数:dest目标地址,src源地址 * 返回:返回拷贝好的地址:如果出错或者有重叠,无