fstream 输出打印时,出现乱码
来源:互联网 发布:淘宝新宝贝怎么推广 编辑:程序博客网 时间:2024/06/06 04:16
今天在解决一个问题的时候,使用到了fstream,结果发现相同的代码竟然出现不同的结果,后来发现是可能没有打开文件。代码如下:
#include <fstream>
#include <iostream>
using namespace std;
void main()
{
fstream infile("aaa1.txt");
fstream outfile("fatbat.bat");
fstream file("aaa.txt");
char sline[1024];
if(file.is_open()) // Line14
{
file.getline(sline,sizeof(sline));
cout<<sline<<endl;
}
infile.open("aaa1.txt"); // 一开始没有该行,Line21
if(infile.is_open()) //Line22
{
infile.getline(sline,sizeof(sline));
cout<<sline<<endl;
}
// system("fatbat.bat");
// cout<<"asdf"<<endl;
int i= 1;
}
如上面所标,如果没有21行,则输出来的是乱码,而另外Line14则能正常显示,这个问题困扰了好久,后来加上了Line21行程序后,都能正确输出了。
在使用CFlie类时 如下代码也出现错误
CFile inFlie,outFile;
BOOL rtnOpenInFile = inFlie.Open("Iplist.ini",CFile::modeRead,NULL);
outFile.Open("fatbat.bat",CFile::modeReadWrite,NULL);
inFlie.Read(sline,sizeof(sline));
/**/
if (rtnOpenInFile)
{
while (sizeof(sline)>0)
{
outFile.Write(sline,sizeof(sline));
ShellExecute(NULL,"open","fatbat.bat",NULL,NULL,SW_SHOW );
Sleep(1000);
MessageBox(sline);
inFlie.Read(sline,sizeof(sline));
}
}
MessageBox中显示出来的是乱码,这个时候用UltraEdit仔细看一下,显示出16进制位,能够看到刚刚显示的乱码,此时,就是这个文件的问题了,我们得仔细改这个文件。
- fstream 输出打印时,出现乱码
- pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决
- fstream 文件输出乱码 与 seekg()
- smartform LIST打印时中文出现乱码
- 中文输出出现乱码
- pymmseg 分词打印出现乱码
- 打印中文控制台出现乱码
- visio图文字打印时出现乱码的处理
- MyEclipse的Console输出中文时出现乱码
- Eclipse控制台打印中文输出乱码
- OTL连接数据库,输出时候出现乱码
- PHP输出CSV文件出现乱码问题
- 使用UTF-8的编码只输出表头,没有输出数据时,出现乱码;当有数据输出时,则不会乱码。
- 关于Android Logcat打印输出中文乱码问题的解决方法
- servlet中用PrintWriter打印输出汉字乱码的解决方法
- Pycharm 输出中文或打印中文乱码现象的解决办法
- Pycharm 输出中文或打印中文乱码现象的解决办法
- [RK3399][Android7.1] 调试笔记 --- 串口打印输出乱码
- Windows Vista中安全地启用“管理计算机(域)的内置账户Administrator”
- msconfig病毒
- MSN messenger 7.x (8.0?) VIDEO Remote Heap Overflow Exploit
- Asp.net Provider模型第三部分
- 封装的ADO.NET对数据库操作经典类
- fstream 输出打印时,出现乱码
- spring实现定时任务之Quartz 2
- 日语单词一
- 数据库建模前的准备工作
- 防止程序多次打开
- spring实现定时任务之Quartz 3
- IC指标
- 编程调用job
- Capistrano开发日记(1)