请教VC6.0 从网页上获取指定VC最新格式化字符串函数的出现的次数

功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串,返回指向dest的指针。

说明:上述代码中的mp4info为一个控制台应用程序,用于解析mp4文件的信息,并将信息输出到temp中。

问题描述:上述代码在编译连接时没有报错,但是运行时出现下面的错误

上述代码表面上看没有错误,但其中隐含有系统默认的错误或者程序员在编写代码时没有养成良好的习惯而形成的错误,从输出的那一长串屯屯屯屯..........”来看,应该是系统为command分配的空间中填入了一些默认值,而strcat函数的功能实际上是从command数组第0位开始依次查找直到找到第一个'\0'字符,然后将src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。而最后的内存不能为读错误,应该是command越界了。

从上面的代码中可以看到系统为command[0]默认分配了字符'?'

为了修正上面的问题,其实解决方法很简单,就是为刚分配的空间字符做清零初始化。

1.在编写程序时应该养成良好的习惯,比如本文中的在使用每一个自定义变量前一定要为其赋予初始值,这样可以避免很多隐性的错误。

我要回帖

更多关于 VC最新格式化字符串函数 的文章

 

随机推荐