c语言中怎样读出有中文的文本文件?

作者&投稿:贸河 (若有异议请与网页底部的电邮联系)
如何利用c语言打开文本文件?~

C程序语言非常强大,通过打开文本的函数(里面的参数指出要打开文本的位置及文件名),即可打开相应的文本。
第一,包含的头文件:#include ,这是一个输入输出函数,第二,打开文本文件:FILE *file = fopen("c:\\1.txt","r");代表C盘的文件,文件名为1.txt,r表示以只读的方式打开,
第二个参数表示打开方式,"a" 表示追加方式打开,"r" 表示以读方式打开,"w" 表示以写方式打开,第三,读入文本文件中的数据:方法:char s[10] = "";while (!feof(file))fread(s,1,1,file);
通过fread函数对打开的文件进行读和写操作,也就是这样来改变文件的内容。

C语言可以使用fopen()函数读取txt文本里。
示例:
#include
FILE *stream, *stream2;
void main( void )
{
int numclosed;
/* Open for read (will fail if file "data" does not exist) */
if( (stream = fopen( "data", "r" )) == NULL )
printf( "The file 'data' was not opened
" );
else
printf( "The file 'data' was opened
" );
/* Open for write */
if( (stream2 = fopen( "data2", "w+" )) == NULL )
printf( "The file 'data2' was not opened
" );
else
printf( "The file 'data2' was opened
" );
/* Close stream */
if(fclose( stream2 ))
printf( "The file 'data2' was not closed
" );
/* All other files are closed: */
numclosed = _fcloseall( );
printf( "Number of files closed by _fcloseall: %u
", numclosed );
}

扩展资料
使用fgetc函数
#include
#include
void main( void )
{
FILE *stream;
char buffer[81];
int i, ch;
/* Open file to read line from: */
if( (stream = fopen( "fgetc.c", "r" )) == NULL )
exit( 0 );
/* Read in first 80 characters and place them in "buffer": */
ch = fgetc( stream );
for( i=0; (i < 80 ) && ( feof( stream ) == 0 ); i++ )
{
buffer[i] = (char)ch;
ch = fgetc( stream );
}
/* Add null to end string */
buffer[i] = '\0';
printf( "%s
", buffer );
fclose( stream );
}

中文是占2个字符,你的ch只有一个字符就换行了,所以打不出来,把打印时的换行去掉就行了
#include <stdio.h>
#include <stdlib.h>
main()
{
FILE *fp;
char ch;
if((fp=fopen("d:\\test.txt","r"))==NULL)
{
printf("file cannot open!");
exit(0);
}
ch=fgetc(fp);
while(!feof(fp))
{
printf("%c",ch); /*去掉换行*/
ch=fgetc(fp);
}
fclose(fp);
}

一个char是一个字节,一个汉字2个字节。
所以需要定一个字符数组才能够正确完整的显示文字信息。

我认为c语言是不可能的,操作系统下的c命令符可以。


如何用c语言从txt文件中读出多行数据,并且算出每行数据之和,最后输出...
先学好c语言在提需求, 这个题目里涉及文件读写的操作。掌握了接口,这个题目就很好搞定了 1)打开文件 FILE *r = fopen("文件", rb);2) 打开创建一个txt文件 FILE * w = fopen("txt", wb);3) 循环的以行为单位读取,直到文件结束 fgetline(r, buf, sizeof(buf), '\\n');解析行...

朗诵技巧文言文
知能图谱 读是语言能力的一个重要方面,而句中停顿,特别是文言文中的阅读停顿是阅读能力的重要体现。 有以下六种情况注意停顿。 1、主谓之间要停顿。 2、谓宾之间要停顿。 3、谓语中心语和介宾短语之间要停顿。 4、“古二今一”之间要停顿。 5、关联词后面要停顿。 6、总领性词语后面要停顿。 三、方法指导...

读文言文的
举例:怎样才能读出文言文的味道呢?在教学实践中,小学文言文的诵读教学可以分为以下三个层次。 一、读出“语言”味这里的“语言”,主要是指文言文文本的语言形式。文言文具有较强的音乐感,读起来抑扬顿挫、古朴悠然,有不同于白话文的特别韵味。 初学文言文,教师要帮助学生正确诵读文本,教给学生一些朗读文言文的技巧...

如何在阅读教学中引导学生感悟语言的魅力
一、抓住文眼 读中品味在课堂上,我们常常会把过多的精力投入到对文本内容的挖掘和对思想感情的理解上,强化了“人文的感悟”,却淡化了“语文本色的品味”。事实上,语文教材中的 每一 篇课文都是文质兼美的佳作,不仅浓缩了作者丰富的情感,而且在遣词造句、语言表达上都颇具特色。因此,教学中教师就应努力捕捉课文的...

C#语言如何把txt的文件的每一行读出来(一行中有两个数,格式:2,3)把...
\/\/创建一个二维数组,C#中List与正常的数组使用方法是相同的 List<List<int>> result = new List<List<int>>();\/\/初始化一个StreamReader对象用于输入流的读取,构造函数传入一个文件流的对象 StreamReader sr = new StreamReader(new FileStream("tmp.txt",FileMode.Open));\/\/循环读取一行字符串 ...

诗歌朗读的技巧
除了以上这些基本表达手段外,要使朗诵有声有色,还得借助一些特殊的表达手段,例如:笑语、颤音、泣诉、重音轻读等,这里我们就不详细介绍了。 四、朗诵不同于朗读,也不同于演戏 朗诵不同于朗读,朗读是用清晰、响亮的声音把文章读出来,以传达文章的思想内容。朗诵则是用清晰、响亮的声音把文章背出来,以传达文章的...

C语言中如何将数据写到文件中?如何从文件中读出数据?通过一个完整的程序...
include<stdio.h> int main(){ char read[100];FILE *fpcome;if( (fpcome= fopen("1.txt", "r+"))==NULL ){ puts("文件打开出错!");return;} fputs("abcdefghijkflmnopqrstuvwxyz", fpcome);\/\/将abcdefghijkflmnopqrstuvwxyz写到文件 rewind(fpcome);\/\/移动文件位置指针到一个文件的...

学弈中的弗是什么意思
”要读出反问的语气;“曰:非然也”应该读出肯定的语气。第三步:读懂文言文 怎样读懂呢?最快捷的方法就是结合课文中的注释。在读好、读通课文的基础之上,对照课文中的注释和平时掌握的语言表达特点相结合来理解,自己尝试弄懂每句话的大概意思。同时发扬自主合作精神,和其他同学团结协作,从而读懂课文...

文中画横线的句子应该读出什么的语气
文中画横线的句子应该读出激动、自豪的语气。语气的具体介绍:语气,是指播音语言表达的重要技巧之一。在一定的具体思想感情支配下具体语句的声音形式。出于全篇稿件和整个思想感情的运动状态的要求,各个语句的本质不同,语言环境不同,每一个语句必然呈现出“这一句”的具体感情色彩和分量,并表现为千差万...

力气的气在词语中读轻声吗?
力量中的“气”在汉语发音中是否读作轻声呢?答案是有的。让我们一起探讨一下哪些情况下这个字会变得轻声化:轻声的规律:语气词的亲切感:在日常对话中,像“吧”、“妈”、“啊”这类词,自然而然地读出了轻声,为交流增添了一份温暖。助词的无声陪伴:诸如“着”、“了”、“过”、“地”、...

威海市17212275508: c语言 如何读取中文字符串 -
天元灯盏: 可以使用输入输出重定向来将TXT文本中的字符内容导入程序中,或者使用标准C库函数:fopen()和fgetc(); 先使用fopen()函数打开TXT文本文件,然后使用fgetc读取文本文件中的字符.读取全部文本中全部字符可以使用一个while循环...

威海市17212275508: c语言中怎样读出有中文的文本文件?
天元灯盏: 所以打不出来;}ch=fgetc(fp).h>exit(0);\!feof(fp)){printf("*去掉换行*/,把打印时的换行去掉就行了#include<stdlib;%c"/ch=fgetc(fp);while(.h&gt!"stdio;filecannotopen;charch;test:\;#include<r&quot,ch);d;main(){FILE*fp,";if((fp=fopen(").txt"))==NULL){printf(&quot,你的ch只有一个字符就换行了中文是占2个字符;}fclose(fp)

威海市17212275508: 用c语言从txt文件中读取中文并显示出来 -
天元灯盏: 很简单的一个功能,现在写的是将源文件写死的 #include "stdafx.h" int main(void) {char filename;FILE* file=fopen("F:\\wz-mac.txt","r"); //打开文件 while((filename=fgetc(file))!=EOF){printf("%c",filename); //打印内容到屏幕}return 0; }

威海市17212275508: c语言中怎样读出有中文的文本文件? -
天元灯盏: 中文是占2个字符,你的ch只有一个字符就换行了,所以打不出来,把打印时的换行去掉就行了#include <stdio.h> #include <stdlib.h> main() { FILE *fp; char ch; if((fp=fopen("d:\\test.txt","r"))==NULL) { printf("file cannot open!"); exit(0); } ch=fgetc(fp); while(!feof(fp)) { printf("%c",ch); /*去掉换行*/ ch=fgetc(fp); } fclose(fp); }

威海市17212275508: 用c语言从c盘中读出一个汉字的文本文档应该怎么办 -
天元灯盏: 你是怎么写的?相当于复制,你一个个字节读就行了.如要显示中文,那要复杂多了.c=fgetc(fp); fputc(fp,c);

威海市17212275508: c语言如何在一个文档中读出几个“中文”用fgets,fopen fclose等简单函数,求代码...最好简单点.. -
天元灯盏: main() { FILE *wj;char a[200];char ch[200];//文件变量,路径变量,暂时储存字符的变量 scanf("%d",&a);//输入路径 wj=fopen(name,"rb");//打开文件 while(!(feof(wj)))//如果没有读到结尾执行{}内的 { ch=fgets(wj);//从里面读取一个字符 putchar(ch);//将这份字符显示出来 } fclose(wj);//关闭文件 }

威海市17212275508: 在c语言中,如何读取一个txt文件中的信息 -
天元灯盏: 一般来说在C语言中读取txt文件的信息有两种方法,一种是使用C语言标准文件I/O中的fopen()、fread()等等函数,一种是调用操作系统中的API函数,比如Windows上的ReadFile()、OpenFile()等等,现在操作系统一般都具备内存文件映射功能...

威海市17212275508: C语言如何读取TXT中的中文字符串 -
天元灯盏: 12345678910111213141516171819202122 #include <stdio.h> intmain(void) { FILE*p; charch; p = fopen("a.txt", "r");while(!feof(p)) { if(fgetc(p) == '>') { while((ch = fgetc(p)) != '<') { putchar(ch); } printf("\n"); } } fclose(p); return0; }//昨天我说...

威海市17212275508: c/c++ 怎么读取汉字 -
天元灯盏: 我明白你的意思,你想知道怎么在一段文本中取出汉字.这个涉及到这段文本使用什么编码方案进行存储的.例如在GBK编码方案中汉字为2字节,具体的映射图要参考GBK文档,UTF8编码方案中,部分汉字为3字节.所以你要知道编码方案....

威海市17212275508: 怎么用c语言同时把含有汉字和数字的数据从一个txt文件读取并输出到另一个txt文件中 -
天元灯盏: #include "stdio.h" #include "string.h"void main() {FILE *fp,*fp1;char str[200]; if((fp=fopen("new.txt","wt"))==NULL) /* 假设新旧文本文件分别是new.txt,old.txt */{printf("cannot open file\n");return;} if((fp1=fopen("old.txt","rt"))...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网