我试图从输入中扫描一个字符,我已经尝试了所有方法,scanf() getline() fgets()
但都包含空终止符'\0'
最后这对我来说是不想要的。我怎样才能剥掉它?我已经尝试过了
char *p=strtok(string,'\0\')
但是没有成功。我该怎么做?
我正在使用 gin getline()
扫描字符串到一个 string 数组中,它工作正常,我想输入一个“needle”,我也尝试使用 getline() scanf ,而不是使用 strstr 来查找匹配,但“\0”导致不匹配
最佳答案
您询问如何从字符串末尾删除 NUL 终止符。您可以通过用其他内容覆盖它来做到这一点(例如,字母“a”):
str[strlen(str)] = 'a';
请注意,C 没有办法从数组(包括字符串,它是 char
数组)中“删除”某些内容;数组元素始终存在(直到整个数组被销毁),并且只能用其他值覆盖它们。
关于c - 删除字符串末尾的空终止符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34143181/