c語言讀取中文文件,C語言讀文件

本文目錄一覽:

c語言中怎樣讀出有中文的文本文件?

中文是佔2個字符,你的ch只有一個字符就換行了,所以打不出來,把打印時的換行去掉就行了

#include stdio.h

#include stdlib.h

main()

{

FILE *fp;

char ch;

if((fp=fopen(“d:\\test.txt”,”r”))==NULL)

{

printf(“file cannot open!”);

exit(0);

}

ch=fgetc(fp);

while(!feof(fp))

{

printf(“%c”,ch); /*去掉換行*/

ch=fgetc(fp);

}

fclose(fp);

}

C語言文件操作,如何讀寫中文文本文件

你以什麼方式打開文件的~?如果是二進制的話那亂碼就是因為轉換字符錯誤。

先看一下輸入輸出方式是否與新的文本文件匹配,可能與文本的編碼方式有關。

另外看看你的數組設置,一般認為「一行」是第一個維度,「列」是第二個維度,「頁」是第三個維度。對於「一列」數據來說,它把每行的那個數據認為是一個一維數組(這個一維數組是一個行數組,只有一個數據,其餘為空),那個維度可以認為是空。

這裡是一個模板,你試試~

FILE *fp1,*fp2;

char ch;

fp1=fopen(“文件路徑,記得用轉義字符轉義斜線”,”r”);

fp2=fopen(“文件路徑,記得用轉義字符轉義斜線”,”a”);

ch=fgetc(fp1);

while(ch!=EOF)

{

fputc(ch,fp2);

ch=fgetc(fp1);

}

fclose(fp1);

fclose(fp2);

//沒有加判斷文件指針獲取是否成功的驗證,如果需要,你自己加上就行

用c語言從txt文件中讀取中文並顯示出來

#includestdio.h

main()

{

FILE *fp;

char ch;

if((fp=fopen(“c:\\stu.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);

}

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」

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

c語言怎麼讀入中文,存儲完了又怎麼輸出該中文?

1.首先文件的類型是file全是大寫的不是file可以解決你上面出現的問題

2.fscanf(“%d”,n);

寫成

scanf(“%d”,n);

3.程序的路邏輯我沒看,我給你編譯通過了,如果還有問題再問吧

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

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

相關推薦

發表回復

登錄後才能評論