我必须使用fputs来打印某些内容,而fputs需要使用“const char * str”来打印出来。 我有3个字符串打印(我不关心它是字符串还是字符[])作为str。 我不知道正确的做法。我使用了3个字符串,我将它们添加到一个,但不工作。我也尝试将字符串转换为字符,但没有任何工作! 有什么建议吗?Const char * str问题
struct passwd* user_info = getpwuid(getuid());
struct utsname uts;
uname(&uts);
我希望我的字符常量*海峡= user_info-> pw_name + '@' + uts.nodename
我得到无效*‘到‘字符*’ – BlackM
虽然代码是正确的,[使用strcat'的'是危险的(HTTP“从无效的转换’: //stackoverflow.com/questions/936468/why-does-msvc-consider-stdstrcat-to-be-unsafe-c),应该避免(对于'strcpy'也一样)。 – DarkDust
猜测这是一个C++源代码,所以将'malloc()'的返回值转换为'char *'。如果您使用的是C++,那么建议您使用'std :: string'而不是自己管理内存。 – hmjd