我正在尝试从输入中扫描一个字符,我已经尝试了所有方法,包括scanf() getline() fgets()
,但它们都在末尾包含不需要的空终止符'\0'
。如何去除它?我已经尝试过
char *p=strtok(string,'\0\')
但它没有奏效。我该怎么办?
我正在使用getline()
将字符串扫描到字符串数组中,这很好用。我想输入一个“needle”,并尝试使用getline()扫描它,然后使用strstr查找匹配项,但是'\0'导致无法匹配
我正在尝试从输入中扫描一个字符,我已经尝试了所有方法,包括scanf() getline() fgets()
,但它们都在末尾包含不需要的空终止符'\0'
。如何去除它?我已经尝试过
char *p=strtok(string,'\0\')
但它没有奏效。我该怎么办?
我正在使用getline()
将字符串扫描到字符串数组中,这很好用。我想输入一个“needle”,并尝试使用getline()扫描它,然后使用strstr查找匹配项,但是'\0'导致无法匹配
str[strlen(str)] = 'a';
char
数组);数组元素始终存在(直到整个数组被销毁),它们只能被其他值覆盖。char buffer[strlen(string)];
memcpy(buffer, string, strlen(string));
p* = buffer;
strlen
函数在字符计数时不包括空字符。char buffer[strlen(string)];
。 - DonComochar test[] = "example";
char *result;
result = malloc(sizeof(char) * strlen(test));
strncpy(result, test, strlen(test));
但是我不确定这是否是您真正想要的。