C语言中struct转换成Delphi中的record

structcurl_httppost{structcurl_httppost*next;char*name;longnamelength;char*contents;l... struct curl_httppost {
struct curl_httppost *next;
char *name;
long namelength;
char *contents;
long contentslength;
char *buffer;
char *contenttype;
struct curl_slist* contentheader;
struct curl_httppost *more;
long flags;
#define HTTPPOST_FILENAME (1<<0) //上面的基本没问题,但这一段实在不知道怎么翻译。。
#define HTTPPOST_READFILE (1<<1)
#define HTTPPOST_PTRNAME (1<<2)
#define HTTPPOST_PTRCONTENTS (1<<3)
#define HTTPPOST_BUFFER (1<<4)
#define HTTPPOST_PTRBUFFER (1<<5)
#define HTTPPOST_CALLBACK (1<<6)
char *showfilename;
void *userp;
};
typedef size_t (*curl_read_callback)(char *buffer,
size_t size,
size_t nitems,
void *instream);

还有这个。。。
展开
 我来答
softwb
2013-06-08 · TA获得超过451个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:397万
展开全部
#define HTTPPOST_FILENAME (1<<0)
定义常量,<<是位移运算中的左移。
const
HTTPPOST_FILENAME 1左移0位是多少,写常量就行了

其它的类似。

typedef size_t (*curl_read_callback)(char *buffer,
size_t size,
size_t nitems,
void *instream);

这个是定义函数类型的类型。delphi中也有。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
RedBaronVIP
2013-06-15 · TA获得超过1147个赞
知道小有建树答主
回答量:655
采纳率:0%
帮助的人:261万
展开全部
抓紧给分,人的基本素质:
const
HTTPPOST_FILENAME = 1;
HTTPPOST_READFILE = 1 shl 1;
HTTPPOST_PTRNAME = 1 shl 2;
HTTPPOST_PTRCONTENTS = 1 shl 3;
HTTPPOST_BUFFER = 1 shl 4;
HTTPPOST_PTRBUFFER = 1 shl 5;
HTTPPOST_CALLBACK = 1 shl 6;

type
size_t = DWORD;
curl_read_callback = function (buffer: PChar; size, nitems: size_t; instream: Pointer): size_t;
追问
不是我不愿意快速结帖,实在是没有结果。

那部分有左移的内容是在struct中,代表的是什么意思?delphi中如何定义?

用const可以和上面的语句等价么?因为我对C语言不是太熟悉,所以趁这个机会学习一下。
追答
#define 就是定义宏,跟struct无关。在Delphi没有宏,可以用const代替。
不等价我给你写什么,你当我是那些骗分的半瓶子醋么?

能用结贴。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式