当前位置:首页 » 编程语言 » c语言怎么读取txt中的汉字
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言怎么读取txt中的汉字

发布时间: 2023-06-05 23:56:48

c语言 怎么读文件中的汉字

字符读写函数fgetc和fputc
字符读写函数是以字符(字节)为单位的读写函数。 每次可从文件读出或向文件写入一个字符。

1) 读字符函数fgetc
fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:
字符变量=fgetc(文件指针);
例如:
ch=fgetc(fp);
其意义是从打开的文件fp中读取一个字符并送入ch中。

对于fgetc函数的使用有以下几点说明:
在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。
读取字符的结果也可以不向字符变量赋值。例如:fgetc(fp); 但是读出的字符不能保存。
在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

【例13-1】读入文件c1.doc,在屏幕上输出。#include<stdio.h>main(){ FILE *fp; char ch; if((fp=fopen("d:\\jrzh\\example\\c1.txt","rt"))==NULL){ printf("\nCannot open file strike any key exit!"); getch(); exit(1); } ch=fgetc(fp); while(ch!=EOF){ putchar(ch); ch=fgetc(fp); } fclose(fp);}
本例程序的功能是从文件中逐个读取字符,在屏幕上显示。程序定义了文件指针fp,以读文本文件方式打开文件“d:\\jrzh\\example\\ex1_1.c”,并使fp指向该文件。如打开文件出错,给出提示并退出程序。程序第10行先读出一个字符,然后进入循环,只要读出的字符不是文件结束标志(每个文件末有一结束标志EOF)就把该字符显示在屏幕上,再读入下一字符。每读一次,文件内部的位置指针向后移动一个字符,文件结束时,该指针指向EOF。执行本程序将显示整个文件。

2) 写字符函数fputc
fputc函数的功能是把一个字符写入指定的文件中。函数调用的形式为:
fputc( 字符量, 文件指针 );
其中,待写入的字符量可以是字符常量或变量,例如:
fputc('a',fp);
其意义是把字符a写入fp所指向的文件中。

对于fputc函数的使用也要说明几点:

被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。
每写入一个字符,文件内部位置指针向后移动一个字节。
fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。

② C语言中如何读取文件中的汉字并将其存入数组中

  1. 建立一个足够大的字符型数组;

  2. 以文本方式读打开原文件;

  3. 按字符方式读取文件,每读一个字符判断一下是否为汉字编码(<0),若是则存入字符数组,不是则跳过读取下一个字符,直到文件结束。

设原文件在当前目录下,名为123.txt,举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
chars[1000],ch;
FILE*fp;
inti=0;
if((fp=fopen("123.txt","r"))==NULL){
printf("Openthefilefailure... ");
exit(0);
}
while((ch=fgetc(fp))!=EOF)
if(ch<0)
s[i++]=ch;
fclose(fp);
s[i]='';
printf("%s ",s);//打出来看看
return0;
}

注:原文件内容是“fjkslauti我rophk134是2315学jkal 习C语言jks新da;jus手jfkdsla”

输出是“我是学习语言新手”

③ 怎么用C语言读取 TXT文件中的字符串

1、首先我们打开电脑里的VS软件,使用VS新建空工程,直接点击确定。

④ c语言读取txt文件内容

用C语言从txt文件中读取数据,可以使用C标准库文件自带的文件接口函数进行操作。
一、打开文件:
FILE *fopen(const char *filename, const char *mode);
因为txt文件为文本文件, 所以打开时选择的mode应为"r"或者"rt"。
二、读取文件:
读取文件应根据文件内容的格式,以及程序要求,选择读取文件的函数。可以使用一种,也可以几种混用。 常用的文件读取函数如下:
1、fgetc, 从文件中读取一个字节并返回。 适用于逐个字节读取。
2、 fgets, 从文件中读取一行。适用于整行读取。
3、fscanf, 格式化读取文件, 在已经清楚文件存储格式下,可以直接用fscanf把文件数据读取到对应类型的变量中。
4、fread, 整块读取文件, 对于txt文件比较少用。
三、关闭文件:
读取结束后,应调用fclose函数关闭文件。

⑤ C语言如何从txt文件中读入汉字并将其存在字符串数组中...

程序代码:

#include<stdio.h>

#include<stdlib.h>

#defineMAXSIZE1024

intmain(intargc,char*argv[])

{

FILE*fp;

charbuf[MAXSIZE];

fp=fopen("./hanzi.txt","r");

if(fp==NULL)

{

perror("calltofopen!");

exit(1);

}

fread(buf,1,MAXSIZE,fp);

printf("%s ",buf);

return0;

}

附hanzi.txt文件内容:

你好,很高兴认识你!希望你的人生的每一天都会像今夜的星辰一样,灿烂无比!

运行结果截图:

⑥ 如何用c语言读取txt中的一个字

有个比较严重的错误

首先fscanf中用%s去接收数据的时候是以回车或者空格做为界定标准的
也就是说文本文件中中 刚好是四字节数据
比如:
abcd(下面是回车或者空格)
的时候那你的代码刚刚好没问题

但是如果 四个字节刚刚好不足四个字节,那么被送入ch数组的就是不足4字节的数据

假如超过四字节,那你的代码就有溢出的可能了。

如果你要从文件接收四字节数据

如果你纯粹只需要四个字的数据那你可以这样做:
fscanf(ft,"%c%c%c%c",ch[0],ch[1],ch[2],ch[3]);

目前我想不到其他的方法

⑦ 用c语言从txt文件中读取中文并显示出来

很简单的一个功能,现在写的是将源文件写死的

#include"stdafx.h"

intmain(void)

{

charfilename;

FILE*file=fopen("F:\wz-mac.txt","r");//打开文件

while((filename=fgetc(file))!=EOF)

{

printf("%c",filename);//打印内容到屏幕

}

return0;

}

⑧ 在C语言中怎么将文件中文字读出。。谢了哦

#include<stdio.h>
int main()
{
char str[10];
freopen("in.txt","r",stdin);
scanf("%s",str);
printf("%s\n",str);
fclose(stdin);
return 0;
}
你只要使用了freopen,剩下的就和以前的写法一样。该怎么写就怎么写。只要在源文件的目录下建一个in.txt的文件,把要读入的数据放进去就行了

⑨ 怎么用c语言读取txt中的中文信息

用fscanf(%s)或者fgets都可以读,中文就是一个普通的字符串。