當前位置:首頁 » 編程語言 » 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都可以讀,中文就是一個普通的字元串。