A. c语言输入英语单词 输出中文 通过读取有单词和中文的源文件
要是没学过链表或者结构体,就定义足够长的三维数组
char a[1000][2][128];
1000就是1000组
128就是字串长度
2呢,下标0就是英语,下标1就是中文
a[0][0]就表示文本文件第一行的英文
a[0][1]就表示文本文件第一行的中文
文本文件里中文和英文之间用空格隔开
用fscanf循环读取存入到数组
输入英文,用strcmp判断输入的数据是否和a[n][0]相等,如果是就输出a[n][1]
B. c语言编程时,如何将文件的内容(内容中有汉字)输出
当字符串读,应该就可以了,再把读到的字符串输出
C. 怎么用C语言写出一个文件,文件中的内容是中文
直接fputs把中文字符串输出到文件里
或者写入ASCII码,一个汉字有2个字节组合而成,因此有2个ASCII码
D. c语言输入输出汉字
我推荐用
数组
做
我不太清楚
汉字
的编码
反正汉字不超过10W个
但可以肯定是一个汉字对应一个类似与ascii的编码
假设是100000-200000之间的int类型
ch
先定义
int
code[100000]={0};
读取一个ch(int)就在
code[ch-100000]+=1;
最后遍历code数组就OK
了
千万别用
链表
什么的,小文件还好说
但文件大了,读取N慢,不幸你试试
E. C语言如何从文本文件中输出指定行文字
提供一个思路
ascii表示的符号范围。
你可以判断字符串,是否为ascii码,是忽略。
不是,输出。
上面的变量还应该定义一些操作字符串的指针。
相关有关编码信息参考以下babybubble网络知道:
c/c++支持的是ascii,不过汉字编码中,gb2312与ascii是兼容的,所以可以在c中获得汉字的gb2312编码
gb2312是两个字节的,第一字节是高八位,第二字节是低八位,比如下面的程序:
#include
#include
int
main()
{
char
a[5];
strcpy(a,"啊");
printf("%xh
%xh\n",(unsigned
char)a[0],(unsigned
char)a[1]);
return
0;
}
a[0]是“啊”字的高八位,a[1]是低八位,程序运行结果是a[0]=b0
a[1]=a1,用16进制表示的,所以“啊”字的gb2312编码是b0a1了~
输出时要强制转换成unsigned
char,不然就变成负数了,因为编码是以8位的无符号整数为单位的
当然也可以转成10进制啦,比如
int
b;
b=(unsigned
char)a[0]*256+(unsigned
char)a[1];
b即为汉字的10进制gb2312编码了
F. C语言获取文件里面并输出内容
从文件内容读入和输出可以使用fscanf、fprintf。
如:
fscanf(fp,
"%d",
&num);
//从文件fp读入一个整数到num变量;
fprintf(fp,
"%d",
num);
//将num变量的值输出到文件fp;
屏幕也可以看作一个文件流,输入是stdin,输出是stdout,如输出到屏幕,就是:
fprintf(stdout,
"%d",
num);
G. c语言如何读取文件并输出
c语言读取文件并输出的代码如下:
#include<stdio.h>
inta;
charb,c[100];
intmain(){
FILE*fp1=fopen("input.txt","r");//打开输入文件
FILE*fp2=fopen("output.txt","w");//打开输出文件
if(fp1==NULL||fp2==NULL){//若打开文件失败则退出
puts("不能打开文件!");
return0;
}
fscanf(fp1,"%d",&a);//从输入文件读取一个整数
b=fgetc(fp1);//从输入文件读取一个字符
fgets(c,100,fp1);//从输入文件读取一行字符串
printf("%ld",ftell(fp1));//输出fp1指针当前位置相对于文件首的偏移字节数
fputs(c,fp2);//向输出文件写入一行字符串
fputc(b,fp2);//向输出文件写入一个字符
fprintf(fp2,"%d",a);//向输出文件写入一个整数
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return0;
}
C语言中使用fopen()函数实现文件的读取,使用fgetc()函数读取文件中的字符,使用fclose()实现文件的关闭,注意:打开文件流必须要关闭文件流,不然会持续占用计算机内存资源。
(7)c语言从文件输出中文扩展阅读:
fopen函数
C语言中fopen函数可以两个参数,fopen(const char *filename, const char *mode)。
第一个参数filename:这是 C 字符串,包含了要打开的文件名称。
第二个参数mode:这是 C 字符串,包含了文件访问模式。
H. c语言文件内查找输出汉字
#include <stdio.h>
main() {
char key[] = "110105";
FILE *fp;
char line[2][20];
fp=fopen("file.txt", "r");
while(!feof(fp)) {
fscanf(fp, "%s", line[0]);
fscanf(fp, "%s", line[1]);
if (strncmp(line[0], key, 6)==0) {
printf("Found String is %s", line[1]);
break;
}
}
fclose(fp);
return 0;
}
你自己再修改一下,把key[]="110105"改为从命令行输入;
fp=fopen(...)加上打开失败的判断。
I. 用c语言从txt文件中读取中文并显示出来
很简单的一个功能,现在写的是将源文件写死的
#include"stdafx.h"
intmain(void)
{
charfilename;
FILE*file=fopen("F:\wz-mac.txt","r");//打开文件
while((filename=fgetc(file))!=EOF)
{
printf("%c",filename);//打印内容到屏幕
}
return0;
}
J. C语言 向文件写入汉字,从文件以二进制形式输出汉字
代码如下:
while (p != NULL)
{
sprintf (temp_string1, "0x%s", p);
sscanf (temp_string1, "%x", &temp_int);
printf("temp_string1=%d\n",temp_int);
memset (hanzi_string+i++, (unsigned char) (*((unsigned char *)&temp_int) | *((unsigned char *)&temp_int+1) |*((unsigned char *)
&temp_int+2) | *((unsigned char *)&temp_int+3)), 1);
printf("hanzi_string=%s\n",hanzi_string);
if (p != NULL) p = (char *) strtok (p+strlen (p)+1, " ");
}