㈠ c語言 文件讀取 字元 到一個字元數組
可以通過fgetc函數,將字元讀取出來,並賦值到數組的對應位置上。
fgetc聲明在stdio.h中,其原型為
int fgetc(FILE *fp);
功能為從打開的文件fp中讀取一個字元,並返回。
當讀取成功時,返回讀取到的字元的ascii碼值,否則返回EOF。
以下是逐個讀取字元,存於字元數組,直到讀完整個文件的例子。
#include<stdio.h>
intmain()
{
charbuf[10240];//定義一個足夠大的字元數組存文件數據。
intc;//臨時變數。
intcnt=0;//標記目前讀到幾個位元組。
FILE*fp;//文件指針。
fp=fopen("in.txt","r");//打開文件。
while(1)
{
c=fgetc(fp);//讀一個位元組。
if(c==EOF)break;//到文件尾,退出循環。
buf[cnt]=c;//賦值到字元數組中。
cnt++;//讀到的字元增加一個。
}
fclose(fp);//關閉文件。
return0;
}
㈡ C語言中如何讀取文件中的漢字並將其存入數組中
為了方便文本文件的操作,標准函數編程庫提供了,行讀寫函數,
char
*gets(char
*s);
char
*fgets(char
*s,
int
n,
FILE
*stream);
-----------------------精通unix下c語言編程與項目實踐P66
行輸出函數族
int
puts(const
char
*s);
int
fputs(const
char
*s,
FILE
*stream);
-----------------------精通unix下c語言編程與項目實踐P67
塊讀寫函數
能夠輸入輸出任意數量的字元,在操作二進制文件時常常使用,
fread
和fwrite
塊讀寫函數經常操作二進制文件。
-----------------------精通unix下c語言編程與項目實踐P70
再有就是編碼的知識了
當你輸出的ascii碼在漢字的范圍內的時候,漢字系統會認識到
然後把相應的ascii碼變成漢字。
㈢ C語言中如何讀取文件中的漢字並將其存入數組中
建立一個足夠大的字元型數組;
以文本方式讀打開原文件;
按字元方式讀取文件,每讀一個字元判斷一下是否為漢字編碼(<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]='