博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言复制数组
阅读量:5881 次
发布时间:2019-06-19

本文共 1177 字,大约阅读时间需要 3 分钟。

 直接上代码,分别是栈上开辟内存,堆上开辟内存

1 #include 
2 #include
3 4 void test01(){ 5 char filename[100]; 6 7 printf("请输入视频路径:\n"); 8 scanf("%s", filename); 9 10 char *out_filename = malloc(sizeof(char)* 200);11 memset(out_filename, 0, sizeof(char)* 200);12 int pos = 0;13 for (int i = 0; i < strlen(filename) - 4; ++i){14 out_filename[pos++] = filename[i];15 }16 out_filename[pos] = '\0'; //不写\0会出现烫烫烫乱码17 strcat(out_filename, "_out.avi");18 printf("%s\n", out_filename);19 free(out_filename);20 out_filename = NULL;21 }22 23 void test02(){24 char filename[100];25 26 printf("请输入视频路径:\n");27 scanf("%s", filename);28 29 char tmp[100] = { 0 };30 int pos = 0;31 for (int i = 0; i < strlen(filename) - 4; ++i){32 tmp[pos++] = filename[i];33 }34 tmp[pos] = '\0'; //不写\0会出现烫烫烫乱码35 strcat(tmp, "_out.avi");36 37 printf("%s\n", tmp);38 }39 40 int main(){41 42 test01();43 test02();44 45 system("pause");46 return 0;47 }

如果是用指针来复制数组,不要用以下代码

char *out_filename = 0;

因为没有开辟内存,直接对指针自增会出现访问冲突

 

转载于:https://www.cnblogs.com/qinguoyi/p/10211446.html

你可能感兴趣的文章
贪食蛇
查看>>
关于Spring 中的事务
查看>>
为什么现在都用面向对象开发,为什么现在都用分层开发结构?
查看>>
【离散数学】 SDUT OJ 偏序关系
查看>>
写给学弟学妹的产品入门建议(持续更新)
查看>>
view视图总结
查看>>
oracle11g 数据库导出报“ EXP-00003:
查看>>
201521123009 《Java程序设计》第11周学习总结
查看>>
可解释的机器学习
查看>>
Python3之多线程学习
查看>>
MVC和MTV结构分析
查看>>
(转)微信网页扫码登录的实现
查看>>
mariadb启动报错:[ERROR] Can't start server : Bind on unix socket: Permission denied
查看>>
nginx的信号量
查看>>
云im php,网易云IM
查看>>
河南农业大学c语言平时作业答案,河南农业大学2004-2005学年第二学期《C语言程序设计》期末考试试卷(2份,有答案)...
查看>>
c语言打开alist文件,C语言 文件的打开与关闭详解及示例代码
查看>>
c语言 中的共用体和结构体如何联合定义,结构体(Struct)、联合体(Union)和位域
查看>>
SDL如何嵌入到QT中?!
查看>>
P1026 统计单词个数
查看>>