b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

colevariant_colevariant 哪个类_colevariant用法(19)

电脑杂谈  发布时间:2017-01-21 04:03:09  来源:网络整理

只能传递流数据,结构是传递不过去的。

我常这么用

ABCD a ;

//给a的各个域赋值(一定不能含有指针项)

char* buff = new char[sizeof(ABCD)];

memcpy(buff,&a,sizeof(ABCD));

//或者 *(ABCD*)buff = a;

.................

如果buff里的数对,说明问题不在这儿吧

看不明白

最好使用memcpy(),因为struct中的值有可能包含零字节,所以strcpy()可能不对,如果传递struct,最好把struct的字节对齐改为以字节为单位。

直接将结构指针作为send的参数发就可以了,还用转换什么

有必要在这里讨论吗?

struct AA

{

int a;

char b[100];

};

struct AA aa;

aa.a=11;

strcpy(aa.b,"aaa");

send(hSocket,(char *)(&aa),sizeof(aa),0);

//OK

其实这里是一个字节对齐的问题,

比如

struct AA

{

int a;

char b;

};

那么sizeof( struct AA )就不等于5了,而是8了,所以,将这个结构赋值给一个char *,里面会多出一些零...

需要解决这个问题,可以在Project->Setting->Link->Project Options里加上/Zp1

另外,可以参考一下MSDN里/Zp的编译选项.....

根本不是什么字节对齐的问题,我上面的程序经过测试都好用啊,这位老兄用我的那段程序究竟是什么错误,能说清楚点吗???

我这边用socket发送结构是一点问题也没有啊,而且是在VC和Delphi编的程序间通讯,当然,这时应该注意字节对齐的问题了,在VC程序间,

只要不是故意将服务器和客户端的编译环境设的不一样,肯定是没有什么问题的,最多是多传几个Bit罢了。

我发现将char * memcpy 到 char * 中间都有点问题,但是如果放到 char []中间就可以了,大家知道为什么否?

memcpy不copy最后的'\0'...

是你看错了

因为char*是以0 结尾的

请注意我的程序:

struct ABCD *abcd;

char *buf;

abcd = (ABCD *)calloc(1,sizeof(ABCD));

//初始化abcd

buf=abcd;//指针直接符值就可以了

你试试把类型变为BYTE

不管了,给分,大家都有不少的建议呢。

38。double dou=12.34;我如何可以得到char * ch="12.34";转换函数是什么?

double dou=12.34;

char * ch;

ch=malloc(100);

sprintf(ch,"%5.2f",dou);

或者

#include <stdlib.h>

#include <stdio.h>

void main( void )

{

int decimal, sign;

char *buffer;

int precision = 10;

double source = 3.1415926535;

buffer = _ecvt( source, precision, &decimal, &sign );

printf( "source: %2.10f buffer: '%s' decimal: %d sign: %d\n",

source, buffer, decimal, sign );

}

但是第一种常用

int decimal, sign;

double dou =12.34;

char* ch;

ch = _ecvt(dou,4,&decimal,&sign);

double dou=12.34;

char *str;

gcvt(dou,5,str); //5是长度

MessageBox(str);

/* _GCVT.C: This program converts -3.1415e5

* to its string representation.

*/

#include <stdlib.h>

#include <stdio.h>


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-27731-19.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 郝亮亮
      郝亮亮

      不懂什么叫升级改造吗

    • 曹稆孙
      曹稆孙

      具体情况不清楚可以警告一下不走开必要击沉

    • 何润东
      何润东

      有你在我们大家都放心呀

    热点图片
    拼命载入中...