作者:乔山办公网日期:
返回目录:word文档
Windows XP与DOS是完全zhidao不同的两种内核。Windows XP几乎把DOS完全摒弃了。
而TC则是DOS时代的遗留物。
所以用TC编出来的程序在WINDOWS XP中运行时,权限是非常有限的。特别是对屏幕的操作。所以画点阵的方法是行不通的(更何况这个方法编出的程序也是很复杂的)。如果你用的是98以前的操作系统的话,用UCDOS就可以实现,但在XP中UCDOS已经不能用了。
如果想要用C语言编程时输出汉字,可以用以下几种方法:
1.最值得推荐的一种。摒弃TC,改用为WINDOWS编程设计内的Visual C++,或者C++ Builder,lcc等。
用这几种工具的话,在代码中可以直接输入汉字。编译出来的是32位windows程序不存在兼容问题。
2.改用98以前的操作系统。
3.装个虚拟机,在虚拟机中装上容DOS或者98。当然还要装上UCDOS。然后,在其中用TC写程序。
根据你的代码,改成下面的可百以正常输出:
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
int main()
{
char *p="你好度,中国!";
for(size_t i=0;i<strlen(p);i++)
if(p[i]<0)
{
printf("%c%c",p[i],p[i+1]);//不要用p[++i],因为printf是先计算右边表达式的值的,内按照你原来的代码,假设是第一次循环,那是会输出2个同样的p[1]的,而不是容p[0]和p[1]
i++;
}
return 0;
}
具体操作步骤如下:
一、首先定义一个wchar_t类型的数复组用于存储输入的中文,同时定义两个变量inx、size,size用于保存实际输入的汉字中文数,inx用于循制环控制打印每一个中文汉字的16进制编码。百
二、然后,输入中文汉字,需要度调用知wscanf函数,注意不能使用%s作为字符串输入,而要使用%ls。
三、接下来使用wcslen()来统计中文汉字的个数,这个是strlen()的宽字符版本,名称不一样,使用是一样的。
四、最后通过一个for循环,输出所有汉字的编码道即可。
怎么打印网格?