您的位置:

c语言怎么读字,汉语c怎么读

本文目录一览:

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

#includestdio.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语言如何从字符串中读入字符

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

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

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

字符读写函数fgetc和fputc

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

1) 读字符函数fgetc

fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:

字符变量=fgetc(文件指针);

例如:

ch=fgetc(fp);

其意义是从打开的文件fp中读取一个字符并送入ch中。

对于fgetc函数的使用有以下几点说明:

在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。

读取字符的结果也可以不向字符变量赋值。例如:fgetc(fp); 但是读出的字符不能保存。

在文件内部有一个位置指针。用来指向文件的当前读写字节。在文件打开时,该指针总是指向文件的第一个字节。使用fgetc 函数后,该位置指针将向后移动一个字节。 因此可连续多次使用fgetc函数,读取多个字符。应注意文件指针和文件内部的位置指针不是一回事。文件指针是指向整个文件的,须在程序中定义说明,只要不重新赋值,文件指针的值是不变的。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。

【例13-1】读入文件c1.doc,在屏幕上输出。#includestdio.hmain(){ 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语言或C++如何读写汉字,比如一个文本中有很多汉字,如何读取后全部显示出来

#includestdio.h

#includestdlib.h

int main()

{

FILE *fp;

if((fp=fopen("D:\\123.txt","r"))==NULL)

{

printf("Error!\n");

exit(0);

}

//假设d盘的123.txt中有四个汉字:好好学习,下面的部分输出第一个汉字

char ch[3];

int i;

for(i=0;i2;i++)

ch[i]=getc(fp);

ch[i]='\0';

puts(ch);

//假设d盘的123.txt中有四个汉字:好好学习,下面的部分输出全部汉字但是这样操作有缺陷:那就是如果有三个汉字一个字母的话,输出将发生错误。你可以将123.txt中的内容改为:学习过C ,你试一试就知道了

rewind(fp);

char ch2[9];

for(i=0;i8;i++)

ch2[i]=getc(fp);

ch2[i]='\0';

puts(ch2);

fclose(fp);

return 0;

}

原来的代码:

#includestdio.h

#includestdlib.h

int main()

{

FILE *out;

if((out=fopen("d:\\123.txt","r"))==NULL)

{

printf("Error!\n");

exit(0);

}

char ch;

ch=getc(out);

while(!feof(out))

{

putchar(ch);

ch=getc(out);

}

fclose(out);

return 0;

}

如果是汉字处理的话 其实很复杂的 虽然tattackor说的方法也可行 但是好像并不严格 其实之前我也这样 想过 具体参考我空间里的文章:

这是去年写的 但是更好的方法这方面一直没有进展

同时 如果txt中是汉字和字符混排的话,如果还定义一个char ch[3]来读取 未免有点太……

C语言中还有专门的数据类型 来处理汉字 我研究一下 如果有所进展告诉你

附:存放一个汉字的话用char ch[2*1+1]

存放3个汉字的话用char ch[2*3+1]

因为一般上一个汉字占用两个字节

C语言中int 和char怎么读?

Char如果表示编程里的数据类型 应该是Character的缩写 现在普遍读的都是

/tʃɑː/ (恰)

但是 Varchar 却不是哇恰,读做

/'vɑːkə/(屋阿科儿)(屋发音很短)

Int是Integer是缩写 读作

/ɪnt/ (印提)

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

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

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

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

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

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "stdlib.h"

int main(void){

    char s[1000],ch;

    FILE *fp;

    int i=0;

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

        printf("Open the file failure...\n");

        exit(0);

    }

    while((ch=fgetc(fp))!=EOF)

        if(ch0)

            s[i++]=ch;

    fclose(fp);

    s[i]='\0';

    printf("%s\n",s);//打出来看看

    return 0;

}

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

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