-
2021-05-26 20:52:24
包含头文件:
#include <stdio.h>
函数体
int sprintf(char *str, const char *format, ...);
例子:
int gpio_num = 99; char PATH[64]; sprintf(PATH,"/sys/class/gpio/gpio%d/value",gpio_num); int gpio_num = 99; char str[10] = "asd"; char PATH[64]; sprintf(PATH,"welcome,%s,hello,%d",str,gpio_num);
更多相关内容 -
C语言字符串拼接函数:strcat()
2021-12-14 16:27:37C 库函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。 声明 下面是 strcat() 函数的声明。 char *strcat(char *dest, const char *src) 参数 dest – ...需包含库文件:C 标准库 - <string.h>
描述
C 库函数 char *strcat(char *dest, const char *src) 把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。
声明
下面是 strcat() 函数的声明。
char *strcat(char *dest, const char *src)
参数
- dest – 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。
- src – 指向要追加的字符串,该字符串不会覆盖目标字符串。
返回值
该函数返回一个指向最终的目标字符串 dest 的指针。
实例
下面的实例演示了 strcat() 函数的用法。
#include <stdio.h> #include <string.h> int main () { char src[50], dest[50]; strcpy(src, "This is source"); //strcpy把字符数组复制后,剩余的空间会置零 strcpy(dest, "This is destination"); strcat(dest, src); printf("最终的目标字符串: |%s|\n", dest); return(0); }
ubuntu上编译运行结果:
最终的目标字符串: |This is destinationThis is source|
-
c语言 字符串的拼接和分割实例
2020-12-23 04:31:09注意不要越界,可用strlen(input)函数求字符串长度之后再拼接。 2. 字符串的分割 使用c的函数 char *strtok(char *str_sou,constchar *str_sep); str_sou:待分割字符串。str_sep:分割符号。 第一次调用:temp = ... -
c语言字符串之拼接函数
2021-02-11 12:50:37//关于字符串的操作要包含头文件sting.h #include<string.h> int main() { //strcat char c1[32] = { 0 }; char c2[32] = { 0 }; strcat(c1, "hello"); printf("%s", c1); strcat(c2, " world"); ...strcat函数:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> //关于字符串的操作要包含头文件sting.h #include<string.h> int main() { //strcat char c1[32] = { 0 }; char c2[32] = { 0 }; strcat(c1, "hello"); printf("%s", c1); strcat(c2, " world"); printf("%s\n", c2); strcat(c1, c2); printf("%s", c1); return 0; }
strncat函数:
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> //关于字符串的操作要包含头文件sting.h #include<string.h> int main() { //strncat char c1[32] ="hello"; char c2[32] =" world YES OR NO"; strncat(c1, c2,6); printf("%s", c1); strncat(c1, "\nGOODBYE THE WORLD!!!",8); printf("\n%s", c1); return 0; }
-
C语言学习笔记---字符串拼接函数 strcat() 和 strncat()
2021-10-29 16:44:12strcat()函数主要用来拼接字符串,用于将一个字符串拼接到另一个字符串的后面。下面通过一个简单的例子来演示一下这个函数的使用方法。 int main() { char str1[10]="123"; char str2[4]="abc"; printf(...strcat()函数
strcat()函数主要用来拼接字符串,用于将一个字符串拼接到另一个字符串的后面。下面通过一个简单的例子来演示一下这个函数的使用方法。
int main() { char str1[10]="123"; char str2[4]="abc"; printf("str1:%s\r\n",str1); printf("str2:%s\r\n",str2); strcat(str1,str2); printf("str1:%s\r\n",str1); printf("str2:%s\r\n",str2); system("pause"); return 0; }
定义了两个字符串str1和str2,首先将两个字符串打印出来,接着使用strcat()函数将str2字符串拼接到字符串str1的后面,最后再将两个字符串打印一遍。输出结果如下:
通过输出的结果可以看到字符串2的确已经被拼接到了字符串1的后面。
但是使用这个函数的时候要注意一点,这个函数默认是不检测字符串1的长度的,如果字符串1的长度不能够容纳下字符串2,就可能会导致字符溢出。比如在这里给字符串1追加一个比较长的字符串2。
当程序运行完成之后,软件出现了错误。这就说明在使用strcat()函数向str1字符串追加内容的时候,由于str1空间比较小,而追加的字符又很多,就会导致多出来的字符溢出到相邻的存储空间中,导致软件运行奔溃。strncat()函数
为了解决正问题,系统又提供了一个新的字符串追加函数strncat()。这个函数相比strcat()函数多了一个参数,第三个参数用于设置追加内容的长度。这样在追加字符串的时候,就可以控制追加的字符长度,不会出现溢出的情况。
int main() { char str1[10]="123"; char str2[]="abcdefghjhijkl"; int cnt = 0,cnt1 = 0,cnt2 = 0; printf("str1:%s\r\n",str1); printf("str2:%s\r\n",str2); cnt = strlen(str1); cnt1 = sizeof(str1) / sizeof(str1[0]); cnt2 = cnt1 - cnt; printf("%d,%d,%d\r\n",cnt,cnt1,cnt2-1); strncat(str1,str2,cnt2); printf("str1:%s\r\n",str1); printf("str2:%s\r\n",str2); system("pause"); return 0; }
首先打印原始的字符串1和字符串2内容,接下来使用strlen()函数计算出字符串1实际占用的大小,使用sizeof()函数计算出字符串的总空间大小,然后计算这两个数据的差,就是字符串1中的剩余空间。当使用strncat()函数拼接字符串的时候,最后一个参数就是字符串1中的剩余空间大小。这样在拼接字符串的时候,就不会导致数据溢出了。
通过打印的结果可以看出,拼接后的字符串1,最后拼接的字符只是截取了字符串2的一部分,并没有将字符串2的内容全部拼接进去。拼接的字符串长度为6。计算出来字符串剩余长度为7,但是这里面也把字符串最后一位为空字符’\0’,计算进去了。所以在使用strncat()函数时,最后一个参数的长度要减1,给字符串1留一个空白字符的位置。
-
C语言实现字符串拼接的函数
2020-04-18 09:35:58先遍历到目标子串末尾,然后将源字符串复制到目标子串后,并将末尾置\0 void myStrcat(char dstStr[],char srcStr[]){ int i,j; for(i=0;dstStr[i];i++); for(j=0;srcStr[j];i++,j++){ dstStr[i]=srcStr[j];... -
c语言函数strncat()c语言如何拼接字符串(取前n个字符)
2021-05-19 08:01:24c语言函数strncat()c语言如何拼接字符串(取前n个字符)。实例源码介绍函数的使用。相关函数:bcopy, memccpy, memecpy, strcpy, strncpy需引入的头文件:#inclue 定义strncat()函数:char * strncat(char *dest, ... -
C语言字符函数----strcat(字符串拼接)
2019-03-01 19:22:49C语言字符函数----strcat(字符串拼接) 函数名:strcat 功 能:字符串拼接 举 例:将first_str与second_str进行拼接! #include<string.h> #include<stdio.h> int main() { char first... -
C语言实现字符串拼接和拷贝
2021-01-19 23:42:35本文实例为大家分享了C语言实现字符串拼接和拷贝的具体代码,供大家参考,具体内容如下 字符串拼接: #include #include #include char *str_contact(const char *,const char *); char *str_contact(const char *... -
C语言-字符串拼接(不用strcat函数)
2022-04-14 19:50:02printf("请输入字符串1:\n"); gets(str1); printf("请输入字符串2:\n"); gets(str2); while (str1[i] != '\0') { i++;//找到str1的最后一个字符 } while (str2[j] != '\0') { str1[i++] = . -
实现C语言字符串操作函数
2021-05-07 20:06:12C中字符串操作函数包括 size_t strlen(const char *str) 获取字符串str的长度 char *strcpy(char *dest, char *src) 字符串src复制到字符串dest char *strncpy(char *dest, char *src, size_t n) 字符串src的前n个... -
C语言 自定义字符串拼接函数
2018-12-24 10:20:00#include "stdio.h" //函数原型 char *cat(char *a,char *b); void main(){ char a[100],b[100]; gets(a);//输入字符串a ...//输入字符串b ...//拼接a,b字符串 puts(a); } ch... -
C语言字符串操作函数汇总
2021-10-20 23:31:23功能:将字符串str2复制到字符串str1中,并覆盖str1原始字符串,可以用来为字符串变量赋值。 返回:str1 注意: (1). 字符串str2会覆盖str1中的全部字符; (2). 字符串str2的长度不能超过str1; (3). 拷贝原理... -
C语言#define拼接宏定义实现方式
2020-08-25 06:00:17今天小编就为大家分享一篇C语言#define拼接宏定义实现方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
C语言常用数字和字符串转换函数
2018-08-03 15:53:00C语言常用数字和字符串转换函数,toi 字符串转换成整型数 atol 字符串转换成长整型数 atof 字符串转换成浮点型数 strtol 字符串转换成长整型数 strtoul 字符串转换成无符号长整型数 strtod 字符串转换成浮点数 -
C语言函数库之字符串连接函数(string.h)
2021-01-29 11:49:181.字符串连接函数strcat 函数定义:char *strcat(char *str1, const char *str2); 函数功能:把str2(包括'\0')拷贝到str1的尾部(连接),并返回str1。其中终止原str1的'\0'被str2的第一个字符覆盖。 举例: #... -
C语言字符串函数
2020-02-23 11:08:09C语言提供的字符串处理函数,可以对字符串进行输入、输出、合并、修改、比较、转换、复制、搜索等操作,使用这些现成的函数可以大大减轻我们的编程负担。 用于输入输出的字符串函数,例如printf、puts、scanf、gets... -
c语言拼接两个字符串函数strcat的实现
2021-11-04 11:05:01headChar:需要拼接的字符串首地址 tailChar:拼接内容字符串的首地址 功能:拼接字符串 */ #include <stdio.h> void StrCat(char* headChar, char* tailChar){ char* tempChar = headChar;//用tempChar来修改... -
C语言的字符串常用函数(18种)
2022-03-20 15:14:001. gets() (现在已经不怎么用了) (1) 头文件 #include <stdio.h>... s: 字符串首地址 (5) 返回值 成功: 返回读入的字符串 失败: NULL (6) 和scanf("%s",s);区别 scanf -
c语言 字符串的拼接和分割
2016-04-17 16:05:031.字符串的拼接 使用c的函数char *strcat(char *str_des, char *str_sou);...注意不要越界,可用strlen(input)函数求字符串长度之后再拼接。 2. 字符串的分割 使用c的函数 char *strtok(char *str_sou,con -
C语言 不使用strcat函数实现连接两个字符串功能代码
2021-01-20 03:54:20下面是用C语言实现不使用是strcat 函数实现连接两个字符串的功能。 源代码: #include void constring(char s[],char t[],char q[]); //函数声明 int main(void) { char s[100]; char q[100]; char t[200]; ... -
C语言中字符串拼接之#,##的妙用
2020-05-06 21:41:44字符串拼接相关的宏 字符串拼接的接可以分为下面两种情况: 在程序运行过程中,使用字符串连接函数strcat()等字符串处理函数进行字符串的拼接。这属于字符串的动态拼接。 在预处理阶段进行字符串的拼接。这属于字符... -
C语言拼接字符串
2021-05-19 08:03:57这个函数的原型如下:此函数把第二个字符串拼接到第一个的结尾,第二个字符串是以常量char指针的形式传递的。函数不会分配内存,这意味着第一个字符串必须足够长,能容纳拼接后的结果,否则函数可能会越界写入,导致... -
C语言字符串处理函数总结
2020-03-05 15:43:20使用这些函数时,记得写头文件 #include<string.h> char str1[] = "Hello World!"; char str2[] = "Hello milk!...功能:将str2中的字符串复制到str1中。 返回:str1 strcpy(str1, str2); printf("%s\... -
详解C语言中的字符串拼接(堆与栈)
2021-05-19 08:07:37字符串拼接的函数不是有的吗,如:strcat; 事实却并非如此简单,为什么呢? 上面的errstr变量是存储在栈上的,不需要考虑free的问题,原作者考虑到后续一大堆复杂的if分支,如果把errstr放在堆上,处处要考虑是不是...