关于C++字符串

原创 2005年05月16日 19:53:00
昨天跟同学一起看一个C++编译错误。
代码是这样的(简化后):
int main()
{
   char* buff = new char[6];
   strcpy(buff, "123456");
   delete[] buff;
}
程序在Debug模式下运行出错,提示非法访问内存。Release没事。
我把代码改成这样:
int main()
{
   char* buff = new char[6];
   for (int i=0; i<6; i++)
   {
      buff[i] = i + 48;   // 数字转化成对应的字符
   }
   delete[] buff;
}
程序运行正常。。。
就是说在strcpy里除了附值外他肯定还干了什么。于是想到字符串结尾"/0",他肯定是在后面自动加一个0然后内存溢出边界了。
原来的改成:
int main()
{
   char* buff = new char[7];
   strcpy(buff, "123456");
   delete[] buff;
}
OK,一切正常了!

希望明天是个艳阳天。。。

c++字符串题目

今天有个来我们公司面试,要做机试题目,本来想让我帮忙看看来,结果我去看题目,发现写的时候麻烦点 最烦字符串的处理啦 题目是这样的:(1)输入一行字符串,格式是4 12 234 45 66,第一个数...
  • haishuitian1
  • haishuitian1
  • 2014年10月14日 22:44
  • 583

与字符串有关的一些典型问题的C++解法

一、C++中String类的用法总结 http://www.cnblogs.com/xFreedom/archive/2011/05/16/2048037.html http://www.cnb...
  • DjangoBUAA
  • DjangoBUAA
  • 2016年02月06日 23:50
  • 1648

C++ sting字符串函数详解

文章转载自: http://www.renfei.org/blog/introduction-to-cpp-string.html1. 运算符重载    a. + 和 +=: 连接字符串     b....
  • cgl1079743846
  • cgl1079743846
  • 2015年05月23日 16:41
  • 2560

高位优先的字符串排序

#include #include #include //MSD(Most Significant Digit First) 高位优先的字符串排序 //该算法基于键索引计数法的思想,进行了扩...
  • liujianfeng1984
  • liujianfeng1984
  • 2015年09月16日 07:45
  • 1105

C/C++ 字符串处理函数

C/C++ 字符串处理函数【转】   C: 1. 字符串长度    extern int strlen(char *s); //返回s的长度,不包括结束符NULL 2. 字符串比较    ...
  • haiross
  • haiross
  • 2015年05月15日 16:11
  • 1991

【C++研发面试笔记】22. 常用算法-字符串查找算法

22. 常用算法-字符串查找算法22.1 KMP算法,KMP字符串匹配算法,BM算法,Rabin-Karp算法,有限自动机算法,Boyer-Moore字符串搜索算法。KMP算法(Knuth-Morri...
  • tostq
  • tostq
  • 2016年10月04日 13:36
  • 1446

关于C++字符串读取

string str; cin>>str//遇到空格或者换行符结束,不是很好判断空的输入 getline(cin,str)//读取整行,遇到换行符结束,不是很好判断空输入 char *P=new...
  • u012577585
  • u012577585
  • 2015年08月01日 12:48
  • 296

有关字符串的笔试题

小总结 1.//转换字符串格式为原来字符串里的字符+该字符连续出现的个数 //1233422222转换为1121324125 //思路:两个vector来存放,一个存放字符,一个存放次数 void ...
  • hello_bravo_
  • hello_bravo_
  • 2017年02月25日 19:26
  • 190

关于Java中字符串最基础的东东

强制性转换在前篇中已经写到,将浮点型转换成整型,例如 double x=9.997; int nx=(int) x; 这样的话nx的值变回为9;如果想对浮点类型进行四舍五入的计算,得到整数,那...
  • woxiangjingjing
  • woxiangjingjing
  • 2015年06月28日 13:36
  • 109

Python入门 之 定义字符串

Python入门 之 定义字符串字符串前面我们讲解了什么是字符串。字符串可以用”或者”“括起来表示。如果字符串本身包含’怎么办?比如我们要表示字符串 I’m OK ,这时,可以用” “括起来表示:“I...
  • Heartyhu
  • Heartyhu
  • 2016年03月23日 03:57
  • 533
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于C++字符串
举报原因:
原因补充:

(最多只允许输入30个字)