C语言关于strCAt函数使用报错的疑问。

看报错信息啊,有很多种解决方案,1. 按照提示使用strcat_s代替strcat2. 关闭SDL检查.项目-属性-C/C++-常规-SDL检查-否3. 在文件顶部加入一行:#define _CRT_SECURE_NO_WARNINGS4. 在文件顶部加入一行:#pragma warning(disable:4996)

虽然没over,实际已经溢出了.strcat(des,src) 不进行边界检查,所以des的大小必须得满足拼接后的字符串大小. s1[9]={"English",0,0} 后拼上 "Eng\0" 成为 "

程序是正常没什么问题的,估计是你那个平台识别不到你写的那个函数,你可以试试在main函数里面声明一下my_strcat.还有就是你定义str1长度为100,那str1+str2的长度最好不要超过100,不然str1会放不下的哦.

访问越界,因为ch1的大小只有8,而你用strcat进行连接的时候,会把ch2的内容写到ch1第8个位置以及以后的不属于ch1的内存,所以会报错误.strcat是这样定义的:extern char *strcat(char *dest,char *src);src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.

用法:#include <string.h>在C++中,则存在于<cstring>头文件中.strcat原型:extern char *strcat(char *dest,char *src);功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.说明:src和dest所指内存区域不可以重叠且

你写错了,倒数第二行应该是a[i]='\0',你赋到b上去了,所以可能有乱码.还有,你这个程序冲内存了,你定义的a数组,系统给的长度是5,而你在程序里有继续修改后面的值,这个区域已经不属于a数组的范围了,记住啊,千万不能这么玩.修改的方法是定义的时候给出足够长度:char a[20] = "I am" ;

因为第一个是个常量指针,不允许你进行操作,第二个是个数组变量,允许你进行操作.你的两种方法,无论哪一种都存在越界.

这个函数实在string.h里面,估计是没有 找到这个 函数 你把头文件这么写#include<stdio.h> #include<string.h>

因为strcat函数是不安全的.虽然数组a的长度是4,但将c连接到a的后面时,不会进行越界检查,而是直接将c追加到a的后面.这样,就会占用不属于a的内存,所以运行程序时可能出现多种情况,比如:1.程序奔溃2.表现正常3.没奔溃,但程序出现莫名其妙的现象这3种可能都有可能出现,出现2实属侥幸,说不定下次运行时就会出现情况1或3.

原型:strcat(char* Dest,const char* Source) 描述:将Source所指的字符串连接到Dest所指字符串的后面,结果保存在Dest所指字符串的地址,请确认Dest有足够的空间容纳连接后的字符串 参数 Dest目的字符串(待连接的字符串) Source源字符串

相关文档

strcat函数的使用
c语言strcat函数用法示例
strcat函数怎么用
c语言strcat函数用法
c语言strcat函数
用c语言实现strcat函数
c语言中strcat函数
strcat函数的作用是
c语言写出strcat函数
c语言strcat函数实现
c语言strcat函数原型
c语言strcat函数头文件
c语言strcpy函数用法
使用strcat用什么头文件
strncat函数的作用是
c语言strlen函数
c语言编写strcat函数
strcpy函数怎么用举例
电脑版