如何仅将字母字符扫描到 C 中的数组中?

Posted

技术标签:

【中文标题】如何仅将字母字符扫描到 C 中的数组中?【英文标题】:How do I scan only alphabetic characters into an array in C? 【发布时间】:2018-06-27 21:11:17 【问题描述】:

我有一个文本文件,它是一个带有引号、逗号、句点和空格的段落。我希望我的 C 程序仅将字母扫描到一个数组中,同时在此过程中将它们全部设为小写。所以如果一个文本文件说“你好。”,那么数组就会有:你好

【问题讨论】:

读取字符。只取“正确”的那些。如果需要,转换为小写。 switch声明问好。 @tadman 为什么是switchisalpha + tolower。完成。 @EugeneSh。句号和空格?不确定这些是否有特殊含义。 您的程序将包含以下元素:getchar()if()isalpha()tolower()array[i++]。我留给你适当地组合这些元素。 :-) 【参考方案1】:

有多种解决方案。其中两个更“常见”是

    所有内容读入内存,然后只将需要的字符复制到主数组,同时转换为小写。

    逐个字符读取,只保存要保存的字符,同时转换为小写。

这两种方案基本相同,只是在实际的文件读取部分不同。

【讨论】:

以上是关于如何仅将字母字符扫描到 C 中的数组中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件中的字符存储到数组中

如何将字符串数组传递给C中的函数?

C中的自然排序 - “字符串数组,包含数字和字母”

如何用c语言分离字符串中的字母和数字并分别输出?

C语言,将一个字符串中的元音字母复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。

求教如何用C语言求两个字母集合的交集?