使用变参函数,拼接字符串的示例代码
来源:互联网 发布:java改string编码 编辑:程序博客网 时间:2024/06/14 10:23
最近做了个需求,就是各种拼接字符串。将"aaa","bbb","ccc"拼接成"aaa, bbb, ccc",参数的个数是不确定的。于是想到用变参函数来做挺好的,参考了FMDB的源代码,以下是代码:
// 变参函数,用","拼接多表字符串,最后一个参数应该是nil-(NSMutableString*) concatTableStrings:(NSString*)first, ...{ NSMutableString *result = [NSMutableString new]; [result appendString:first]; [result appendString:@","]; va_list ap;// 参数列表的指针 va_start(ap, first);// 指向第一个参数 NSString* next_arg; while ((next_arg = va_arg(ap, NSString*))) {// 循环指向下一个参数,第一个参数不包括在内 [result appendString:next_arg]; [result appendString:@","]; } [result substringToIndex:([result length]-1)];// 去掉最后一个"," va_end(ap); return result;}
关键是4个宏:va_list, va_start, va_arg, va_end。写变参函数主要注意2点:
1、最后一个参数要传nil进来,很多开源的库也都是这个风格
2、第一次执行va_arg,next_arg就已经指向第2个参数了。所以在执行va_arg之前,需要先处理第1个参数,否则第1个参数就会被漏掉
0 0
- 使用变参函数,拼接字符串的示例代码
- 使用JAVA代码实现字符串的简单拼接
- 字符串的拼接--自定义函数
- 23.使用Swift自带的join函数拼接字符串
- 字符串字段拼接示例
- oracle拼接字符串处理,wm_contact函数使用
- mysql 中使用 concat 函数 拼接字符串
- oracle 字符串数据拼接函数使用
- Jquery的each函数拼接字符串传参问题
- 变参函数使用
- C语言 变参函数的使用
- Delphi的时间与字符串函数代码示例
- PHP 拼接 url 字符串的函数
- oracle 拼接字符串的函数写法
- 拼接字符串代码段
- oracle 字符串拼接函数
- sql函数拼接字符串
- oracle字符串拼接函数
- 自己组装摄像头软件opencv无法打开的问题
- jsp的防sql注入通用程序
- 某公司一道面试题:赛车名次, 桶排序
- java连接MYSQL
- 安装CMake
- 使用变参函数,拼接字符串的示例代码
- perl 中的 ".."
- 双数组AC自动机(doubleArrayTrie)的实现
- 没事儿找事儿————gtk学习(完善窗口的功能)
- java Map集合嵌套,value为Map和value为List
- android相关文章
- abstract class和interface有什么区别?
- Linq Join and GroupJoin.
- android安全问题,抢先开机启动