C语言如何从字符串中读入字符

Python013

C语言如何从字符串中读入字符,第1张

在scanf函数中,可以使用%c来读取一个字符,使用%s读取一个字符串, 但是读取字符串时不忽略空格,读字符串时忽略开始的空格,并且读到空格为止,因此只能读取一个单词,而不是整行字符串。

其实scanf函数也可完成这样的功能,而且还更强大。这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是"^",这说明读取不在"^"后面集合的字符,既遇到"^"后面集合的字符便停止。注意此时读入的字符串是可以含有空格的,而且会把开头的空格也读进来。

#include <stdio.h>

#include <stdlib.h>

int main()

{

FILE *fp

char cl[100]

if((fp=fopen("1.txt","r"))==NULL)

exit(1)

while(fscanf(fp,"%s",cl)==1)

printf("%s  \n",cl)

if(fclose(fp)!=0)

exit(1)

return 0

}

C语言是目前世界上流行、使用最广泛的面向过程的高级程序设计语言。 C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。

可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc()

先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符。读取全部文本中全部字符可以使用一个while循环加判断是否读取到文件结尾来实现:

char

ch;

while((ch=

fgetc(fp))

!=

EOF)

这样当读取到文件结尾时,while循环就会终止。

C语文编写编译如下:

#include

#include

#include

#define MAXLINE 100000

#define BUFLEN 1024

int main()

{

FILE *file

char buf[BUFLEN]

int len=0,i=0

char *array[MAXLINE]

file=fopen("test.txt","r")//打开TXST.TxT文件

if(!file)return -1

while(fgets(buf,BUFLEN,file))//读取TXT中字符

{

len=strlen(buf)

array[i]=(char*)malloc(len+1)

if(!array[i])break

strcpy(array[i++],buf)

}

fclose(file)

i--

while(i>=0&&array[i])

{

printf("%s\n",array[i])//打印test文档的字符

free(array[i--])

}

}