【发布时间】:2015-06-03 09:42:29
【问题描述】:
如何在 C++ 中连接以下 char 和 TCHAR 变量?
TCHAR fileName[50];
TCHAR prefix[5] = "file_";
TCHAR ext[4] = ".csv";
char *id[10];
generateId(*id);
generateId(char *s) 函数只是生成一个随机字符串。
我需要以fileName 结尾,类似于file_randomIdGoesHere.csv
我尝试过strncat(fileName, prefix, 5);,它适用于所有TCHAR 变量,但不适用于char *,因为它需要const char *,所以也许有更好的方法,不知道如何转换@987654331 @ 或 char ** 到 const char *。
有什么想法吗?
strncat(fileName, id, 10) 的错误是error: cannot convert 'char**' to 'const char*'
【问题讨论】:
-
不应该是“char id[10];” (不带星号)?
-
在我看来,您的代码中应该有类似
char id[10];而不是char *id[10],然后只需使用generateId(id)。为什么要使用char *id[10]添加另一个间接级别? -
在我的
generateId(char *s)上,如果我删除 *,当我尝试访问s数组的每个元素时会出现错误 -
@matt:删除数组中的
*是否可能并且有意义,定义?即只是让它char id[10]? -
@Mr.C64 是的,从
char *id[10];和generateId(*id);中删除* 确实有效,我能够将它与strncat(fileName, id, 10);连接起来,谢谢!