strcat()函数常见问题
strcat(char *_Destination,const char *_Source)函数的功能是将后一个字符串粘贴到前一个字符串的末尾
原型
char *strcat(char *_Destination,const char *_Source)
常见错误
strcat函数常见的错误就是数组越界,即两个字符串连接后,长度超过第一个字符串数组定义的长度,导致越界
example1:
1 void charWrite() { 2 FILE *file; 3 char type[4] = "wt+"; 4 char path[30] = "C:/Users/Fahy/Desktop/"; //数组总长度为30个字符,初始化存入22个字符 5 char filename[20],ch; 6 scanf("%s", filename); //如果超过8个字符,strcat将两个字符串结合时,就会越界 7 ch = getchar(); 8 ch = getchar(); 9 strcat(path, filename); 10 if (!(file = fopen(path, type))) { 11 printf("Can't open this file \"%s\"", path); 12 system("pause"); 13 } 14 else { 15 while (ch != EOF) 16 { 17 fputc(ch, file); 18 ch = getchar(); 19 } 20 } 21 fclose(file); 22 }
解决方法
别无他法,只能将第一个参数定义长点。
转载于:https://www.cnblogs.com/HuangWj/p/5003853.html
strcat()函数常见问题相关推荐
- C语言标准库之strcat函数
2018-10-20 C库函数strcat()函数的功能是实现字符串的拼接.其函数原型如下所示 char *strcat(char *dest, const char *src) 1.参数说明 des ...
- strlen函数,strcat函数,strcpy函数,strncpy函数,strcmp函数
strcpy函数: char *strcpy(char *Dest , const char *Src) { assert((Dest != NULL) && (Src != NULL ...
- c语言 strcpy原型,浅谈C语言中strcpy,strcmp,strlen,strcat函数原型
实例如下: //strcat(dest,src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0' char *strcat(char * strDest, cons ...
- C和指针之strcat函数 strchr函数 strcmp函数 strcpy函数 strnchr函数 strstr函数实现
1 strcat函数实现 #include <stdio.h> //简单实现strcat函数 char *my_strcat(char *des, const char *src) {i ...
- strcpy与strcat函数原型
1.strcpy函数原型 char *my_strcpy(char *dest,const char *src) //const使在函数中不能修改*src其原先的值 { char *strDes ...
- strlen函数strcpy函数strcat函数的实现
一.strlen函数 作用:计算字符串第一次碰到'\0'的长度,不包含'\0'. #include<stdio.h> #include<assert.h>int Strlen( ...
- C语言 strcat函数实现
strcat()函数从名称来讲就是索的含义,用途:在一个字符串的末尾增加新的字符. 函数定义如下: char *strcat(char *dest, const char *src); 代码实现如下: ...
- c语言中strcat函数的作用,strcat函数的作用是什么?
strcat函数的作用是复制一个字符串,将这个字符串拼接在另一个字符串后面.strcat()函数接受两个字符串作为参数,会把第二个字符串的备份附加在第一个字符串末尾,并把拼接后形成的新字符串作为第一个 ...
- C语言 strcat 函数 - C语言零基础入门教程
目录 一.strcat 函数简介 二.strcat 函数原理 三.strcat 函数实战 四.注意 strcat 函数崩溃问题 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 ...
最新文章
- PO、VO、FormBean的思考
- MyBatis-学习笔记09【09.Mybatis的多表操作】
- linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令
- 17.3.12---urlparse模块的URL下载
- 【UI/UX】浅谈Spin框
- html中css如何引用自定义字体 - 案例篇
- 办公室海王小姐姐悄悄问我如何在PC端登录多个微信小号?
- 中国节能吊扇行业市场供需与战略研究报告
- Objective-C与Swift下的自定义打印函数(Debug和Release)
- linux系统,清理缓冲池内存
- hdu4009 Transfer water 最小树形图
- 汤国安 ARCGIS地理信息系统空间分析实验教程
- 第七版自顶向下 第一章中文版 计算机网络课后习题答案
- linux系统下安装摄像头,Linux下安装摄像头驱动程序的三种方法
- java rrd 读取_RRD插入值的计算方式
- C++ 填入数字1-9 使数学等式成立
- mybatis中的when,then,end的用法
- Python字典知识总结
- 解决使用百度地图API时偏移问题并自适应中心点和比例
- vivo信号无服务器,vivo X50上手实测,连央视都夸的国货之光究竟体验如何?
热门文章
- tp3.2.3保持搜索条件的分页
- TCP的三次握手、四次挥手,干货满满!
- Android移动开发之【Android实战项目】后台服务Service
- php yii 模板引擎,模板引擎(Template Engines)
- 装Linux后分区丢失,找到了linux分区顺序错乱修复方法
- 网络营销外包——网络营销外包专员对网站标题修改都是有原因的
- numpy python2_python-numpy(2)
- python selenium 文件上传_python+selenium 文件上传
- plsq如何快捷整理代码_PLSQL Developer使用技巧整理(转)
- 计算阶比分析 matlab_(案例)层次聚类分析Matlab编码计算