2

要查找非宽字符串的长度,我们使用以下strlen函数:

#include <stdio.h>
#include <wchar.h>
#include <string.h>

int main(void)
{
char variable1[50] = "This is a test sent";
printf("The length of the string is: %d", strlen(variable1));
return 0;
}  
OUTPUT: 
The length of the string is: 18

我的书说的就是使用语法:

wcslen(const wchar_t* ws)

但是,我已经尝试了很多方法来做到这一点,但它从来没有奏效:

使用 D 格式说明符:

#include <stdio.h>
#include <wchar.h>
int main(void)
{
wchar_t variable1[50] = "This is a test sent";
printf("The length of the string is: %d", wcslen(const wchar_t* variable1));
return 0;
}  

使用 U 格式说明符

#include <stdio.h>
#include <wchar.h>

int main(void)
{
wchar_t variable[50] = "This is a test sent";
printf("The length of the string is: %u", wcslen(variable1));
return 0;
}  

使用类型 SIZE_T 的变量

#include <stdio.h>
#include <wchar.h>

int main(void)
{
wchar_t variable1[50] = "This is a test sent";
size_t variable2 = wcslen(char wchar_t* variable1);
printf("The length of the string is: %u", variable2);
return 0;
}  

我们如何找到字符串的长度,以便得到与第一个类似的输出?(最后三个代码都产生错误)

4

1 回答 1

1

要启动一个宽字符串,ypu 必须在字符串之前添加前缀“L”,例如:

wchar_t variable1[50] = L"This is a test sent";

这将使其成为“宽”字符串。

于 2019-04-25T08:01:06.860 回答