本文目录一览:
- 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.程序的路逻辑我没看,我给你编译通过了,如果还有问题再问吧