正文

库函数使用说明2008-01-12 18:55:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/vfdff/32027.html

分享到:

#include <stdlib.h>#include <stdio.h>#include <string.h> const int NUM = 5 ;                // number to be converted max=65535 typedef char* pchar ; FILE *text ; int main(){    pchar fname = (pchar)malloc(sizeof(char)*10) ;    pchar buf = (pchar)malloc(NUM); int i = 0;     for(i=0;i<40;i++) {  printf("%4d",fname[i]); } printf("\n"); fname[9] = '\0'; //  strset(fname,'\0');     for(i=0;i<40;i++) {  printf("%4d",fname[i]); } printf("\n");    for(i=0;i<2;i++) // for(i=0;i<4;i++) fname溢出,使free(fname)出错    {        //strset(fname,'\0');        strcat(fname,"c:\\z");        puts(buf);          puts(fname);          }    free(buf);    free(fname);    return 0;} strcat 函数不检查字符串的长度,只是把两个串拼接strset 函数并是把'\0'前的所有字符串设置为一个值,而不是对所有的,所以在strset 函数使用前如果没有对所使用的指针初始化赋值(在声请的合法空间内赋'\0'或者0表明字符串的结束位置)free 函数也是把指针首地址到第一个'\0'的那段字符串空间给释放掉,也就是字符串指针的操作大都是基于结束符'\0'的

阅读(3236) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册