请教:windos下dos汉字系统

我尝试过cmd下ctrl+shift。下载过ucdos7,win7、xp,桌面添加快捷方式,双击失败。

没看明白

您在windos下使用了dos汉字系统?

 汉字是编码...

没明白你要做什么啊?

您写c语言吗?您要输入汉字吗?您的程序里要显示汉字?您在windos平台上,搞您的c语言?

是啊,您写c语言!我要输入汉字!我的程序里要显示汉字!我在windos平台上,搞我的c语言!







是啊,我写c语言!我要输入汉字!我的程序里要显示汉字!我在windos平台上,搞我的c语言!

#include <iostream>
#include <fstream>
#include <string>
#include <Windows.h>
 
using namespace std;
 
int main()
{
	//locale(CP_ALL,"");
	
	string str;
	wstring wstr;
	char *p ;
	wchar_t *wp;
	int length;
 
	//文件类型为:UTF-8。
	ifstream inFile("utfFile.txt");
	//ifstream inFileT("utfFile.txt", ios::binary );
	if(inFile.fail())
		cout<<"file open error,multi"<<endl;
	p = new char[1024 +1];
	memset( p, 0, 1025 );
 
	//文件读取。文本
	inFile.read( p, 1024 );
 
	//编码转换: 转换成宽字符
	length = MultiByteToWideChar( CP_UTF8, 0, p, 1024, NULL, 0 );
	wp = new wchar_t[length];
	memset(wp, 0, length );
	MultiByteToWideChar( CP_UTF8, 0, p, 1024, wp, length );
	
        //转换回常规字符:
	length = WideCharToMultiByte( CP_ACP, 0, wp, -1, NULL, 0, NULL, NULL );
        delete[] p; 
        p = new char[length];
	length = WideCharToMultiByte( CP_ACP, 0, wp, -1, p, length, NULL, NULL );
	//写入文件:
	
	ofstream outFileB( "outFile_binary.txt", ios::binary );
	ofstream outFileT( "outFile_text.txt" );
 
	outFileB.write( p, length );
	outFileT.write( p, length );
        
        delete[] p;
        delete[] wp;
       //控制台输出:
	system("pause");
	
}

太好了!您用的是win7还是xp?您如何在dos平台上写、显示汉字的?

win10,Ctrl+空格切换到中文输入法

谢谢您!您太幸福了!我选类别时,没有我选的类别。我只认识c语言。我读书时没有c语言,我用的是古董basic。当我运行gwbasic后是乱码。

我是win10 用Ctrl+空格 和 Ctrl+Shift 都可以切换到中文输入法

谢谢!我提问题时说过我尝试过 Ctrl+Shift,可以写、显示汉字,当我运行gwbasic后是乱码。gwbasic是basic的解释程序。

 乱码原因就找 编码方式啊...说实话你一上来都把我整蒙了

找编码方式,我的能力不够。

谢谢!

你把bas文件 用GB2312 或 UTF-8 的编码重新保存一下试试。


我试一试?

我在网上找了一下,没有找出头绪。请教天际的海浪:如何把bas文件 用GB2312 或 UTF-8 的编码重新保存一下?

用Windows系统中的记事本打开bas文件,然后点击文件菜单的"另存为"

将另存为对话框下方的编码选项设置为UTF-8,点击保存按钮即可。

如果UTF-8编码不行的话。再试试设置编码为ANSI

(ANSI在简体中文系统就是GB2312)


谢谢!我试试。

遗憾。记事本不认bas文件。您还有好主意吗?

bas文件不是纯文本的吗?

bas文件应该不是纯文本的,记事本看不到bas文件。我知道有文本数据。

你先打开记事本,点击文件菜单的"打开",

在打开对话框中选择"所有文件(*.*)"就可以选择bas文件了。

如果打开的源代码是英文正常,中文乱码,就在打开对话框中指定编码。

然后以另一种编码另存为。


打开后有一些汉字,包括繁体字,其他就是乱七八糟的符号。

呃,那就不是纯文本了

那就是你这个basic系统太过古老,和现代的cmd不兼容。

你换个中文basic系统。或者下载个同时代的ccdos 或 ucdos 等中文dos 

先运行ucdos 再运行basic系统


或者在cmd中先运行chcp 936 再运行basic系统


我在cmd可以运行gwbasic和basic程序。只是没有汉字。

cmd中先运行chcp 936 再运行basic系统

谢谢!我试了不行。

您辛苦了!

我使用ccdos或ucdos几十年了。前不久电脑开不了机,我用备份重装了系统,一天后我运行ccdos失败。一周后重装系统时可能又进行了备份。后来就不能使用dos下的汉字系统了。

我休息了。再见!