欢迎来到皮皮网网站!

【php程序 源码分析】【welsim源码】【starflow 源码】c memcpy源码

时间:2024-12-26 03:08:17 来源:思科 jabber 源码

1.C问题 奇怪的void* 达人求教
2.求高手三级C语言

c memcpy源码

C问题 奇怪的void* 达人求教

       所谓的无类型指针,void *可以指向任何类型的数据

       也就是个自由的指针 你前面说的对了

       mencpy的操作对象就是一片内存 无所谓数据类型~

       “不需要任何类型转换大家都可以使用它”很危险!你举的php程序 源码分析例子很特殊

       void*p = str 因为指针的最小单位是字节 而字符串也是字节

       但假如是个结构体 size>1 p++会让编译器不知所措 你永远无法通过sizeof((*void)p)得到正确的结果

       void*体现了C++的自由,但也是危险的 绝对要避免这样的事情发生

求高手三级C语言

       本题提供了一种使用字符串处理函数解决的方案,涉及的welsim源码函数有:

       char *strchr(char *s,char ch); - 从s所指向的字符串中查找字符ch,返回该字符的starflow 源码指针,找不到返回NULL。

       void memset(char *s ,char ch,unsigned count); - 将s所指向的数组的前count个字符全部赋值为ch,若ch为'\\0'且count为字符数组长度,则清空数组。

       void memcpy(char *s1,char *s2,unsigned count); - 将s2字符串的前count个字符拷贝到s1所代表的字符串中。

       关于strcpy()和strcat()函数的使用,这里不再赘述。libuidk 源码

       以下为程序源码:

       void Str0R(void) {

        int i; /* 遍历行 */

        char *p,t[]; /* p指向字符'o',t用于存放'o'前的msnc 源码字符串 */

        for(i=0;i

        {

        p=strchr(xx[i],'o'); /* 查找'o'字符,找到则让p指向它,否则返回NULL */

        while(p!=NULL) {

        memset(t,'\\0',); /* 清空数组t */

        memcpy(t,xx[i],p-xx[i]); /* 将'o'前的字符拷贝到t中 */

        strcpy(xx[i],p+1); /* 删除'o'及'o'前的字符串 */

        strcat(xx[i],t); /* 将'o'前的字符串连接到处理后的字符串末尾 */

        p=strchr(xx[i],'o'); /* 寻找下一个'o' */

        }

        }

       }

更多相关资讯请点击【百科】频道>>>