gpt4 book ai didi

c - 读取文件时如何忽略c中的非字母字符

转载 作者:太空宇宙 更新时间:2023-11-04 04:59:08 25 4
gpt4 key购买 nike

我正在使用 fscanf 读取文件。我想忽略非字母字符,例如逗号、\、: 和点。

这是我的代码:

FILE *fp;
fp = fopen(fl,"r");
char c[50];

while(fscanf(fp, "%s" ,c)!= EOF){
linkLst(c);

}

fclose(fp);

如何忽略非字母字符逐字读取文件?

{部分文件如下

有答案:

1) 世界上最复杂的书面语言是什么? (提示:它使用四个字符集。)(这道题是不是太简单了?)>>日语

2) 哪种语言的词汇主要源自阿拉伯语(约 70%,有人告诉我),但使用罗马字母? (我想知道你在哪里找到的答案!) >> 马耳他语

3) 哪种非罗曼语在字母 N 上使用波浪号 (~)? >> 爱沙尼亚语

最佳答案

您将必须为您读取的字符串创建一个副本,过滤掉非字母数字字符。

scanf 之后执行此操作

char str[50];
int index = 0;
int index2 = 0;
while(c[index] != '\0') {
if (isalpha((unsigned char)c[index]))
str[index2++] = c[index];
else{
str[index2] = '\0';
if (index2 != 0)
linkLst(str);
index2 = 0;
}
index++;
}
str[index2] = '\0';
if (index2 != 0)
linkLst(str);

关于c - 读取文件时如何忽略c中的非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43893852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com