C语言--修改字符串方式
1,数组拷贝
#include<stdio.h>
#include<string.h>
#define MAX 32enum{STR1,STR2,STR_MAX,
};static const char *arr[] = {"Jack", "Lucy"
};int change_string(char *old_str, char *new_str) {int i = 0;// 匹配,修改拷贝字符串for(i=0; i<STR_MAX; i++) {if(!strncmp(old_str, arr[i] , strlen(old_str)+1)) {snprintf(new_str, MAX, "hello %s!", old_str);return 0;}}// 不匹配,直接赋值memcpy(new_str,old_str, MAX);return 0;
}int main() {char *old_str = "Jack";char new_str[MAX] = {0};change_string(old_str, new_str);printf("%s\n", new_str);return 0;
}
2,修改指针指向位置
#include<stdio.h>
#include<string.h>
#define MAX 32struct map {char *key;char *value;
};static struct map imap[] = {{"Jack","Hello Jack"},{"Lucy","Hello Lucy"}
};int change_string(char *old_str, char **new_str) {int i = 0;int max = sizeof(imap)/sizeof(imap[0]);// 匹配,指向新字符串for(i=0; i<max; i++) {if(!strncmp(old_str, imap[i].key, strlen(old_str)+1)) {*new_str = imap[i].value;return 0;}}// 不匹配,直接返回return 0;
}int main() {char *old_str = "Jack";char *new_str = old_str;change_string(old_str, &new_str);printf("%s\n", new_str);return 0;
}
该方式省去了内存拷贝,但是修改指针操作是非常危险的,要慎用!
C语言--修改字符串方式相关推荐
- c语言修改字符串c2133,通过create_string_buffer、create_unicode_buffer让C语言具备修改字符串的能力...
字符串的修改 我们知道C中不存在字符串这个概念,python中的字符串在C中也是通过字符数组来实现的.我们说在C中创建一个字符数组有两种方式: char *s1 = "hello world ...
- C语言中字符串的处理方式(一)
写多了 Java 代码,对 String 类 很是喜爱,可惜经典的 C 语言没有...最近在做程序过程中,发现对C语言字符串的处理很模糊,一会儿用数组,一会儿用指针,一会儿又引入 string.h.. ...
- C语言中字符串的处理方式
http://www.cnblogs.com/robin-ty/archive/2010/09/03/1817294.html 交流纽带" --<C语言程序设计 现代方法> 写多 ...
- 在C语言中如何处理字符串,C语言中字符串的处理方式
<C语言中字符串的处理方式>由会员分享,可在线阅读,更多相关<C语言中字符串的处理方式(4页珍藏版)>请在人人文库网上搜索. 1.C语言中字符串的处理方式"很难从字符 ...
- C语言文件——字符串的方式读出与写入
C语言文件--字符串的方式读出与写入 conclusion: the steps of wirte into file process 1.定义文件路径和文件操作 2.定义文件指针以及存储变量 3.打 ...
- c语言创建字符串数组的两种方式
字符串数组可以使用: (1)char a[] [10]; 用二维数组表示,c语言没有字符串关键字,所以只能用一维数组来表示字符串 例如: char a[] ="abcd"; (2) ...
- 定义咯一个枚举变量枚举变量怎么打印出来 linux c,以C语言的字符串形式输出枚举变量...
2014年11月13日15: 17: 20 haifeilang阅读次数: 6295 每个枚举常量都对应一个整数. 很多时候它可以像整数一样使用. 每个人都知道这一点:但是,如果要打印枚举变量名称的字 ...
- 【C语言】字符串数组按字典升序
[C语言]字符串数组按字典升序 文章目录 [C语言]字符串数组按字典升序 一.使用strcpy深拷贝实现字符串交换 二.交换字符指针数组中的指针位置,实现字符串交换 在使用C语言操作字符串时,容易出现 ...
- 【C语言】字符串函数详解
hello~~,我是~小鹿 ,这是我的第一篇博客,没有循序渐进从基础开始写,只是最近在学习这里就写了,比较随心吧.希望这一篇博客能够给你带来帮助,之后也会继续写的,只是可能没有循序渐进,会比较杂七杂八 ...
最新文章
- c语言在车辆工程专业中的用途,车辆工程专业培养目标与毕业要求(11页)-原创力文档...
- 关于OC的内存管理-01
- 【转】Android 之最新最全的Intent传递数据方法
- Vue + Element UI——监听DOM元素高度和宽度解决方案整理(八种方法)
- 配置IntelliJ IDEA
- linux shell之case用法
- php判断微信版本,判断是否是微信访问并获取版本号
- WIN10找不到服务器共享文件,win10没有共享选项怎么办_win10文件属性没有共享选项的解决方法...
- Python模块:配置文件解析器configparser
- duplicate symbols for architecture arm64的问题结决方法
- Red5java.util.concurrent.RejectedExecutionExceptio
- Vi 编辑器常用命令
- java拆箱 装箱 一篇文章就够了
- 苞米豆mybatis-plus generator代码生成器3.5.1版本 Freemarker引擎
- 梯度下降法算法比较和进一步优化
- Canny算子中的梯度求取及非最大值抑制(NMS)实现
- 发邮件怎么把附件内容直接显示_优德分享:如何发邮件会让人觉得你更靠谱?...
- zblog php getlist,zblog使用getlist方法调用置顶文章
- 手写文字图片识别怎么弄?这几款软件安利快收好
- 关于戴尔台式机需要重启电脑才能识别耳机的问题解决