如何用字符串文字初始化 const char []
How to initialize a const char [] with a string literal
我想做以下事情:
const char errorMsg [64] ( useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
MyMethod ( errorMsg );
对于带有签名的方法:
MyMethod(const char* errorMessageInput );
我有一个采用 const char* 的方法,我想在发送它之前创建一个局部变量。我无法分配动态内存,但我可以使用比必要更大的数组(在这种情况下我做了它 64).我将如何编译此代码?
您可以声明一个指针而不是数组,例如
const char *errorMsg = useApple ? "Error Msg Apple\n" : "Error Msg Bee\n";
事实上,如果方法参数的类型为const char *
.
,则无需声明常量数组
你可以这样写
#include <cstring>
//...
char errorMsg [64];
strcpy( errorMsg, useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
然后使用数组作为方法的参数。
我想做以下事情:
const char errorMsg [64] ( useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
MyMethod ( errorMsg );
对于带有签名的方法:
MyMethod(const char* errorMessageInput );
我有一个采用 const char* 的方法,我想在发送它之前创建一个局部变量。我无法分配动态内存,但我可以使用比必要更大的数组(在这种情况下我做了它 64).我将如何编译此代码?
您可以声明一个指针而不是数组,例如
const char *errorMsg = useApple ? "Error Msg Apple\n" : "Error Msg Bee\n";
事实上,如果方法参数的类型为const char *
.
你可以这样写
#include <cstring>
//...
char errorMsg [64];
strcpy( errorMsg, useApple ? "Error Msg Apple\n" : "Error Msg Bee\n" );
然后使用数组作为方法的参数。