社区
C++ 语言
帖子详情
求助:char **转为const char **!
knpingan
2009-12-02 11:33:45
定义一个数组:
char *params[MAX_PARAMS_LEN];
经过对params的计算后,
需要传递给函数 f(const char *params[])。
我在VC6.0下这样使用:
f (¶ms[0])
编译无法通过:不能将从“char **”转换为“const char *[]”
在f(const char *params[])的定义不改变的情况下,
请教如何对params进行转换已达到上述目的。
谢谢!
...全文
225
13
打赏
收藏
求助:char **转为const char **!
定义一个数组: char *params[MAX_PARAMS_LEN]; 经过对params的计算后, 需要传递给函数 f(const char *params[])。 我在VC6.0下这样使用: f (¶ms[0]) 编译无法通过:不能将从“char **”转换为“const char *[]” 在f(const char *params[])的定义不改变的情况下, 请教如何对params进行转换已达到上述目的。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sduxiaoxiang
2009-12-02
打赏
举报
回复
const cast
codebm
2009-12-02
打赏
举报
回复
强制转换喽``(const char **)params
shiweifu
2009-12-02
打赏
举报
回复
强制转换吧
kingpin1cn
2009-12-02
打赏
举报
回复
use "const cast" or "const char &"
Julykey
2009-12-02
打赏
举报
回复
貌似数组的要求比一般类型要严格呀
zhangshuai09
2009-12-02
打赏
举报
回复
你可以稍微把f的声明改一下,下面这种方法应该没有破坏你最初的想法吧
f(const char * const a[])
或
f(const char * const * a)
macrojj
2009-12-02
打赏
举报
回复
[Quote=引用 3 楼 knpingan 的回复:]
暂时找个一个很笨的方法:
char ** tp1 = ¶ms[0];
const char **temp;
temp = (const char **)tp1;
然后把temp传递给函数f。
[/Quote]
也只好这样了
sduxiaoxiang
2009-12-02
打赏
举报
回复
那就强制转换
飞天御剑流
2009-12-02
打赏
举报
回复
f( ( const char** )params );
hai040
2009-12-02
打赏
举报
回复
直接传params不行?
ztenv
版主
2009-12-02
打赏
举报
回复
这样也没有什么不好吧?
knpingan
2009-12-02
打赏
举报
回复
暂时找个一个很笨的方法:
char ** tp1 = ¶ms[0];
const char **temp;
temp = (const char **)tp1;
然后把temp传递给函数f。
knpingan
2009-12-02
打赏
举报
回复
[Quote=引用 1 楼 sduxiaoxiang 的回复:]
const cast
[/Quote]
谢谢提供参考。
但是const case是用于去除const的,比如从const char *转为char *;
这个与我描述的相反了。
我想要的是“char **”转换为“const char *[]”
还是搞不定,望达人指点。
C++相关
void * my_memcpy(
char
*dst,
const
void *src, int length) { if (src == nullptr || length )//边界值判断 return nullptr ;
char
*d = nullptr;
char
*s = nullptr; if (dst || dst > ((
char
*)src + length))//...
测试的方方面面
直接向上层
求助
当然是一个办法,但这种办法带来的负面左右也是很明显的,首先是作为上层的处理结果可能不一定符合你的愿望(在很多公司,开发工程师的地位高于测试工程师的地位,这种地位的不平等导致上层在处理分歧...
很全的笔记:linux下字符编码转换
一、利用iconv函数族进行编码...iconv函数族有三个函数,原型如下:(1) iconv_t iconv_open(
const
char
*tocode,
const
char
*fromcode);此函数说明将要进行哪两种编码的转换,tocode是目标编码,fromcode是原编码,该函...
c语言输出字符的utf码,C语言里如何把GBK码转换为UTF8?
} int iconv_string(
const
char
*from,
const
char
*to,
const
char
*src, size_t len, ::std::string& result, int c = 0, size_t buf_size = 512) { iconv_t cd;
char
*pinbuf =
const
_cast<
char
* >(src); size_...
linux下字符集编码转换轻松实现
在LINUX上进行编码转换时,既可以利用iconv函数族编程实现,也可以利用iconv... #include <iconv.h><br />iconv函数族有三个函数,原型如下: (1) iconv_t iconv_open(
const
char
*tocode,
const
char
*
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章