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」

輸出是「我是學習語言新手」

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286224.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-22 16:07
下一篇 2024-12-22 16:07

相關推薦

  • AES加密解密演算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密演算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES演算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演著非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • Python語言實現人名最多數統計

    本文將從幾個方面詳細介紹Python語言實現人名最多數統計的方法和應用。 一、Python實現人名最多數統計的基礎 1、首先,我們需要了解Python語言的一些基礎知識,如列表、字…

    編程 2025-04-28
  • Python作為中心語言,在編程中取代C語言的優勢和挑戰

    Python一直以其簡單易懂的語法和高效的編碼環境而著名。然而,它最近的發展趨勢表明Python的使用範圍已經從腳本語言擴展到了從Web應用到機器學習等廣泛的開發領域。與此同時,C…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論