C语言 复制字符串 malloc
#include <stdio.h>
#include <string.h>
typedef void(*str_cpy_slk)(char *name);
void test(str_cpy_slk cb);
void call_back(char *name);
char *test_name = NULL;
int main(void)
{
test(call_back);
printf("name:%s\n", test_name);
return 0;
}
void test(str_cpy_slk cb)
{
char myname[8] = {0};
snprintf(myname, sizeof(myname), "%s", "slk");
printf("myname:%s\n", myname);
cb(myname);
}
void call_back(char *name)
{
test_name = name;
printf("test_name:%s\n", test_name);
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef void(*str_cpy_slk)(char *name);
void test(str_cpy_slk cb);
void call_back(char *name);
char *test_name = NULL;
int main(void)
{
test(call_back);
printf("name:%s\n", test_name);
free(test_name);
return 0;
}
void test(str_cpy_slk cb)
{
char myname[8] = {0};
snprintf(myname, sizeof(myname), "%s", "slk");
printf("myname:%s\n", myname);
cb(myname);
}
void call_back(char *name)
{
test_name = (char *)malloc(strlen(name) + 1);
snprintf(test_name, strlen(name) + 1, "%s", name);
printf("test_name:%s\n", test_name);
}
C语言 复制字符串 malloc的更多相关文章
- C 语言实例 - 字符串复制
C 语言实例 - 字符串复制 C 语言实例 C 语言实例 将一个变量的字符串复制到另外一个变量中. 实例 - 使用 strcpy() #include <stdio.h> #include ...
- 实现C语言字符串操作的库函数 包括基本的字符串复制 字符串长度 字符串比较等多种函数(C代码)
头文件 "mystring.h" #ifndef _MYSTR_H #define _MYSTR_H #include <stdio.h> #include <s ...
- C语言里字符串的解析
根据给定的字符串,按照一定规则解析字符串,卡住好几次,这次做个笔记,以供参考 函数名称: strtok 函数原型: char *strtok(char *s1, const char *s ...
- C语言入门-字符串
还是要继续学习,每天给自己打气. 字符数组 char word[] = {'H','e','l','l','o'}; 这不是c语言的字符串,不能用字符串的方式做计算 一.字符串 char word[] ...
- C语言:字符串拷贝(截取)、查找
C语言:字符串拷贝(截取).查找 很惭愧,学了这么久别的语言,一直没有好好学C和C++,所以现在开始认真C/C++的一些特性和比较,这里记录下C语言拷贝和截取的一些方式,由于系统库带的函数不方便,所以 ...
- C语言之字符串处理函数
C语言中字符串处理函数介绍 下面介绍8种基本的常用的字符串处理函数,在数值数组中也常常用到(部分函数).所有的C语言编译系统中一般都提供这些函数. 1.puts函数——输出字符串的函数 一般的形式为p ...
- c语言的字符串操作(比较详细)
1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...
- C语言学习 —— 字符串的学习(一)
这是本人在学习 C语言有关 字符串内容 时的相关笔记 由于本人技术有限,如有错误,还望指正 C语言中数据类型中只有 字符型(char),而 char型 变量一次只能存储一个字符,在日常工作中经常需要定 ...
- 面试&笔试---c语言之字符串处理
1.字串拷贝库函数strcpy 函数介绍: 原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开 ...
随机推荐
- Struts 2.3.24源码解析+Struts2拦截参数,处理请求,返回到前台过程详析
Struts2官网:http://struts.apache.org/ 目前最新版本:Struts 2.3.24 Struts1已经完全被淘汰了,而Struts2是借鉴了webwork的设计理念而设计 ...
- Effective Java
Effective Java 创建和销毁对象---考虑用静态工厂方法代替构造器 构造器是创建一个对象实例最基本也最通用的方法,大部分开发者在使用某个class的时候,首先需要考虑的就是如何构造和初始化 ...
- mongodb-java-driver基本用法
1.先下载mongodb-java-driver 目前最新版本是2.9.3 2.下面是基本的CRUD示例代码: package com.cnblogs.yjmyzz.cache.test; impor ...
- Verilog学习笔记设计和验证篇(四)...............状态机的置位与复位
1)状态机的异步置位和复位 异步置位与复位是于时钟无关的.当异步置位或复位信号来临时,他们立即分别置触发器的输出为1或0,不需要等待时钟沿的到来.要将他们列入always块的事件控制信号内就能触发al ...
- PLSQL怎样导出oracle表结构和数据
1.导出表结构和数据方式1.tools->export user objects是导出表结构 tools ->export user object 选择选项,导出.sql文件 说明:导出的 ...
- paramiko 遭遇socket.error: Socket is closed 错误的解决办法
似乎是connection自己断了解决的办法是在创建conn的时候添加下面这句 conn.keep_this = conn_session 完整代码 def create_a_conn(ip_addr ...
- jQuery实用小技巧-获取选中的的下拉框和返回头部滑动动画
//获取选中的下拉框 $('#someElement').find('option:selected'); $('#someElement option:selected'); //返回头部滑动动画 ...
- Jquery在线引用地址
Jquery在线引用地址: 1. 很多网站都是使用这种方式引入,客户的浏览器可能已经缓存过了 jquery.可以直接调用本地的,速度更快… 2. Google code 使用了 cdn 技术在很多地方 ...
- 30分钟手把手教你学webpack实战
30分钟手把手教你学webpack实战 阅读目录 一:什么是webpack? 他有什么优点? 二:如何安装和配置 三:理解webpack加载器 四:理解less-loader加载器的使用 五:理解ba ...
- iOS 3DES加密解密(一行代码搞定)
3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称.它相当于是对每个数据块应用三次DES加密算法.由于计 ...