⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_27817.htm

📁 vc
💻 HTM
字号:
<p>
序号:27817 发表者:嵇山 发表日期:2003-01-15 15:22:27
<br>主题:又有新问题,memcpy
<br>内容:内存中一段 a="w.o.r.k.g.r.o.u.p&nbsp;&nbsp;a.s.p.h.p"<BR>char *domain;<BR><BR>memcpy(domain,a,sizeof(a));<BR><BR>printf("%s",domain);<BR>不知道为什么不能输出,输出的只是w.<BR>不知道是什么原因,<BR>但如果<BR> uchar *p=DomainName;<BR> int j;<BR>for(j=0;j&lt;32;j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp; printf("%c",*p++);<BR>能看到a一样的结果<BR>我函数里面要返回domain,返回的只是一个w.<BR>请问大家是什么原因
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:74LS373 回复日期:2003-01-15 15:33:27
<br>内容:char *domain=new char[个数];
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:嵇山 回复日期:2003-01-15 15:35:30
<br>内容:呵呵,<BR>对不起<BR>我漏写了一句<BR><BR>Domain = (uchar *)(malloc(32*sizeof(char)));
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:在水一方 回复日期:2003-01-15 15:40:25
<br>内容:出现上述问题的原因是:<BR>&nbsp;&nbsp; 1&gt; 不能将domain简单定义成一个指针类型char *,而是要分配空间<BR>&nbsp;&nbsp; 2&gt;&nbsp;&nbsp; char *a&nbsp;&nbsp;= "w.o.r.k.g.r.o.u.p&nbsp;&nbsp;a.s.p.h.p"; --&gt; sizeof(a) 值为 4;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;但char a[] = "w.o.r.k.g.r.o.u.p&nbsp;&nbsp;a.s.p.h.p"; --&gt; sizeof(a) 值为 strlen(a) + 1<BR><BR>解决方法:<BR>&nbsp;&nbsp;&nbsp;&nbsp;将语句<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char *domain;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(domain,a,sizeof(a));<BR>&nbsp;&nbsp;&nbsp;&nbsp; 改成<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;char domain = new char[255]&nbsp;&nbsp;&nbsp;&nbsp; // 255只是一个例子,要足够大<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memcpy(domain,a,strlen(a)+1);<BR><BR>2003-1-15 15:49:24

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -