#include <string.h>
#include <stdio.h>
#define TRUE 1
#define FALSE 0
//#pragma import(__use_no_semihosting_swi) // ensure no functions that use semihosting
void my_strcat(const char* str1, const char* str2)
{
int ch1
__asm
{
loop:
ldrb ch1, [str1], #1
cmp ch1,#0
bne loop
sub str1,str1,#1
loop2:
ldrb ch1, [str2], #1
strb ch1, [str1],#1
cmp ch1,#0
bne loop2
}
}
int main(void)
{
const char* b = "Hello World!"迹友
char a[30]
strcpy(a,"链橘I am allright!")
printf("before strcat :b=%s\n",b)
__asm{
MOV R0, a
MOV R1, b
BL my_strcat, {R0, R1}
}
printf("after strcat :b=%s\n",b)
}
这个回棚州团答够标准了吧...
用法:
#include <string.h>
在C++中,则存在于<cstring>头文件中。
strcat原型:
extern char *strcat(char *dest,char *src)
功能:
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添茄锋加'\0'友纳陪。
说明:
src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
strcat()函数从名称来讲就是索的含义,用途:在一个好蠢字符串的末尾增加新的字符。
函数定义如下:
char *strcat(char *dest, const char *src)
扩展资料
代码实现如下:
char *strcat(char *dest, const char *src)
{
char *tmp = dest
while (*dest)
dest++
while ((*dest++ = *src++) != '\0')
return tmp
}
实现原理:
首先dest地址移动到最后一位,然后增加src参数值遇到’\0’结束拷贝。
strcat()也存在着与strcpy()类似的问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)