要从C语言中的字符串中删除标点符号,可以使用以下方法:
以下是一个示例代码:
#include<stdio.h>
#include<string.h>
#include <ctype.h>
int is_punctuation(char c) {
return ispunct((unsigned char)c);
}
void remove_punctuation(char *str) {
int i, j = 0;
for (i = 0; str[i]; i++) {
if (!is_punctuation(str[i])) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
int main() {
char str[] = "Hello, World!";
printf("Original string: %s\n", str);
remove_punctuation(str);
printf("String without punctuation: %s\n", str);
return 0;
}
这个代码定义了一个is_punctuation
函数,用于检查字符是否为标点符号。remove_punctuation
函数遍历字符串中的每个字符,如果字符不是标点符号,则将其添加到新字符串中。最后,将新字符串复制回原始字符串。
在这个示例中,我们使用了ispunct
函数来检查字符是否为标点符号。ispunct
函数是C语言标准库中的函数,用于检查字符是否为标点符号。
这个示例中的输出应该是:
Original string: Hello, World!
String without punctuation: HelloWorld
这个方法可以用于任何C语言字符串,包括字符数组和动态分配的字符串。
领取专属 10元无门槛券
手把手带您无忧上云