学习笔记。。。

本文介绍了C++中字符串拼接函数sprintf,strncpy和strcat的用法,以及如何在Linux下使用valgrind检测内存泄漏并利用gdb调试段错误,包括生成core文件和处理权限问题。
摘要由CSDN通过智能技术生成

1.字符串的拼接

1.sprintf()    往字符串的前面或中间、后面拼接一个字符串。

2.strncpy()用来复制字符串的前n个字符

  1. //dest为目标数组,src为源数组,n为要复制的字符个数

     2.char* My_strncpy(char* dest, const char* src, int n)

3.char *strcat(char *_Destination,const char *_Source)

            eg:char arr1[30] = "hello";

                 char arr2[] = "world";

                 strcat(arr1, arr2);

                 printf("%s\n", arr1);

v加=多行缩进

valgrind的使用:

core文件检测段错误:

调试段错误:
    1.根据给定链接设置系统允许生成core文件
    2.编译代码时加入-g选项
        gcc filename.c -g -lsqlite3 
    3.执行代码让代码产生段错误(会生成一个包含错误信息的core文件)
    4.使用gdb调试core文件
        gdb   a.out(编译后的目标文件)    core 
    5.可以直接看到产生段错误的代码的位置

linux下gdb使用core文件调试程序,解决“段错误核心已转储“的问题_linux段错误核心已转储gdb调试-CSDN博客

eg2:权限不够时 sudo gdb a.out core

bt查看哪里段错误了

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值