本文目錄一覽:
- 1、c語言中怎樣讀出有中文的文本文件?
- 2、C語言文件操作,如何讀寫中文文本文件
- 3、用c語言從txt文件中讀取中文並顯示出來
- 4、C語言中如何讀取文件中的漢字並將其存入數組中?
- 5、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-tw/n/239667.html