怎么把这段C代码用C#完成呢?

nmlvjun 2004-12-13 03:26:43
在C#里结构体不能用指针

typedef struct {
LONG num_tables; /* number of tables */
CHAR **tables; /* table names */
CHAR *where; /* where clause */
} SE_SQL_CONSTRUCT;


LONG SE_sql_construct_alloc
(LONG num_tables,
SE_SQL_CONSTRUCT **constructor);

LONG SE_stream_query
(SE_STREAM stream,
SHORT num_columns,
const SE_SQL_CONSTRUCT *construct);

SE_SQL_CONSTRUCT sqlc;
long rc;
rc = SE_sql_construct_alloc (1, &sqlc);
sqlc->where = malloc(20);
sqlc->num_tables = 1;
strcpy (sqlc->tables[0], "cities");
strcpy (sqlc->where, "population < 10000");
num_cols = 3;
rc = SE_stream_query (Stream, num_cols, sqlc);

先感谢大家帮忙,问题解决马上揭帖,在线等!
...全文
302 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
nmlvjun 2004-12-14
  • 打赏
  • 举报
回复
up
nmlvjun 2004-12-14
  • 打赏
  • 举报
回复
是string[]
SE_SQL_CONSTRUCT Sql =new SE_SQL_CONSTRUCT();
Sql.tables[0] = "dd";
错误: 无法将“"dd"”分配到“Sql.tables[0]”中
KingCrane 2004-12-14
  • 打赏
  • 举报
回复
如果是string类型的话,等号就行了啊
nmlvjun 2004-12-14
  • 打赏
  • 举报
回复
strcpy函数在C#中怎么替代
nmlvjun 2004-12-14
  • 打赏
  • 举报
回复
up
bgu 2004-12-14
  • 打赏
  • 举报
回复
昏!

看多C#了再看C,感觉那不适应了!!!


昏死!!!!!
nmlvjun 2004-12-14
  • 打赏
  • 举报
回复
问题没有解决,再顶~
nmlvjun 2004-12-13
  • 打赏
  • 举报
回复
char ** 就是二维数组
rc = SE_sql_construct_alloc (1, &sqlc); &sqlc?
rc = SE_stream_query (Stream, num_cols, sqlc); sqlc?
怎么写呢?
Sql.tables[0] ="D131";编译时错误,
KingCrane 2004-12-13
  • 打赏
  • 举报
回复
用C#中相应的类型把指针类型替换掉就可以了
如:char*,可以用string来代替
char**,可以用string[]来代替,或者用ArrayList来代替
chengsion 2004-12-13
  • 打赏
  • 举报
回复
哦 char **是一个二维结构的字符串数组是吧?
chengsion 2004-12-13
  • 打赏
  • 举报
回复
首先,我觉得上面的C代码好像有些不妥. 存储表名为什么要定义成char **类型的,char *不可以吗?

SE_SQL_CONSTRUCT sqlc;
这里只是定义了一个结构体类型,访问他的成员应该使用sqlc.where语法吧.

LONG SE_stream_query
(SE_STREAM stream,
SHORT num_columns,
const SE_SQL_CONSTRUCT *construct);
函数原型是需要一个const SE_SQL_CONSTRUCT *construct,这里好像是指针吧.
可在调用的时候,rc = SE_stream_query (Stream, num_cols, sqlc);却给了一个sqlc,具体的类型.

Stream是哪个库里面的类型?
nmlvjun 2004-12-13
  • 打赏
  • 举报
回复
期待高人解决
up

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧