数组初始值设定项必须是初始值设定项列表或字符串文字 c
array initializer must be an initializer list or string literal c
我是 C 的新手。我不知道为什么会收到此错误以及如何解决?
void FPS_PRINT_ENROLLED(){
int checkNum = 0;
int ID = 0;
int num_Enroll = 0;
num_Enroll = Available_ID();
char strNum[3] = 0;
itoa(num_Enroll, strNum);
uint32_t numLen = strlen((char *)strNum);
UART_send_A3("Number of Stored Prints: ", 25);
UART_send_A3(&strNum, numLen);
}
错误信息是:array initializer must be an initializer list or string literal
请参阅附件中的错误消息截图。另外附上c文件。
顺便说一句,这是在使用C语言的PSoC Creator 4.1中。
char strNum[3] = 0;
这一行创建了一个三字符的字符串。然后,您可以将它作为字符串与函数 strlen 和 uart_send.
一起使用
作为 C 字符串,它必须以空字符结尾,因此您只有两个可用字符。它也必须被初始化为一个字符串,编译器告诉你你没有正确地做到这一点。
尝试类似这些行之一的操作
char strNum[3] = ""; // Empty string
char strNum[3] = "AB"; // Full string
char strNum[3] = "0"; // String holding the character zero
我是 C 的新手。我不知道为什么会收到此错误以及如何解决?
void FPS_PRINT_ENROLLED(){
int checkNum = 0;
int ID = 0;
int num_Enroll = 0;
num_Enroll = Available_ID();
char strNum[3] = 0;
itoa(num_Enroll, strNum);
uint32_t numLen = strlen((char *)strNum);
UART_send_A3("Number of Stored Prints: ", 25);
UART_send_A3(&strNum, numLen);
}
错误信息是:array initializer must be an initializer list or string literal
请参阅附件中的错误消息截图。另外附上c文件。
顺便说一句,这是在使用C语言的PSoC Creator 4.1中。
char strNum[3] = 0;
这一行创建了一个三字符的字符串。然后,您可以将它作为字符串与函数 strlen 和 uart_send.
一起使用作为 C 字符串,它必须以空字符结尾,因此您只有两个可用字符。它也必须被初始化为一个字符串,编译器告诉你你没有正确地做到这一点。
尝试类似这些行之一的操作
char strNum[3] = ""; // Empty string
char strNum[3] = "AB"; // Full string
char strNum[3] = "0"; // String holding the character zero