用 '' 替换字符串中字符的所有实例不起作用



文件包含字符串:

40,30,20,10            //newline at end
50,60,70,80

这是重要的代码:

delim = ','
while(getline(&buf, &bufcap, stdin) > 0) {
int i;
for(i=0; i < strlen(buf2); i++) {
if(buf[i] == delim) {
buf[i] = '';
}
}
printf(buf);

收益率:

4050

我想要什么:

40302010
50607080

'\0'是一个空字符,当到达该字符时,所有字符串函数都将停止,因为它表示字符串的结束

''标记字符串的结束,因此strlen将在第一次到达时返回。因此,您的循环将在第一个delimeter之后停止。字符文字中的反斜杠总是标记转义码。与下一个字符组合,用于特殊字符。您可以使用'\'输入文字反斜杠,因此您必须插入两个字符:'\''0'

最新更新