1

我想输入一个文件中的单词,这些单词由任何不是字母的东西分隔。在 C 中是否有一种类似于在 Java 中使用 \W 预定义字符类的简单方法?

我应该如何处理这个?

谢谢。

4

3 回答 3

0

您可以使用is_定义在<ctype.h>.

例如,isalpha()会告诉你某事是否是字母字符。 isspace()会告诉你是否有空格。

于 2011-04-17T18:57:47.243 回答
0

您可以使用fscanf(前提是您保证有最大的单词长度)

char temp_str[1000];
char temp_w[1000]
while(fscanf(file, "%[a-zA-Z]%[^a-zA-Z]", temp_str, temp_w) != EOF) {
  printf("STR: %s\n", temp_str);
}

编辑:这应该可以解决问题,temp_str将保存字母序列并temp_w保存分隔符

于 2011-04-17T19:03:46.083 回答
0

一般的字符类和 \W 特别是真的与 Java 无关。它们只是正则表达式支持的一部分,可用于许多语言,包括 GNU C。请参阅GNU C 库正则表达式

于 2011-04-17T19:05:48.810 回答