本文目錄一覽:
- 1、在C語言中怎麼將文件中文字讀出。。謝了哦
- 2、C語言如何從字符串中讀入字符
- 3、c語言 怎麼讀文件中的漢字
- 4、C語言或C++如何讀寫漢字,比如一個文本中有很多漢字,如何讀取後全部顯示出來
- 5、C語言中int 和char怎麼讀?
- 6、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」
輸出是「我是學習語言新手」
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/286224.html