首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

fstream输出乱码的有关问题

2012-02-25 
fstream输出乱码的问题#include iostream.h#include fstream.h#defineN1999// ----------------改

fstream输出乱码的问题
#include <iostream.h>
#include <fstream.h>
#define   N   1999                     // < <----------------改成2000在prime.txt中就是乱码,1999就不是
int   source[N];
void   main()
{
int   i,j;
fstream   fs( "e:\\prime.txt ");
for(i=1;i <N;i++)
source[i]=i;
for(i=1;i <N;i++)
{
if(source[i]!=0)
for(j=2;j <i;j++)
{
if(source[j]!=0&&source[i]%source[j]==0)
{
source[i]=0;
break;
}
}

}
for(i=1;i <N;i++)
{
if(source[i]!=0)
fs < <source[i] < < '   ';       // < <----------------------这个地方如果是cout,即使N很大输出也不会出错
}
}

我自己又写了一个程序

#include <iostream.h>
#include <fstream.h>
void   main()
{
fstream   fs( "d:\\temp.txt ");
unsigned   long   int   m=990000;
for(unsigned   long   int   i=0;i <m;i++)
fs < <i < < '   ';
}


第二个程序的运行结果是正确的

我不明白第一个程序,如果是申请source[N]的时候出错,为什么程序后边改成cout就不会出错了,
如果是fs出错,为什么第二个程序的运行结果是正确的呢??很是疑惑,望高手指点迷津,谢谢

[解决办法]
H:\zTest\main.cpp(8) : error C2664: '__thiscall fstream::fstream(int) ' : cannot convert parameter 1 from 'char [13] ' to 'int '
我的vc6.0报错,缺什么东西吗?
[解决办法]
没有出错,只是显示的是乱码,用ultraedit就可以看到你所存的内容
[解决办法]
不要用notepad打开即可。纯文本的内码判断问题。
[解决办法]
或者是写字板、word等
[解决办法]
ofstream fs( "e:\\prime.txt ");

[解决办法]
格式问题。 你是按照什么格式读取文件的,按照什么格式输出流?
查找fstream 的格式。 指的是2进制流这种格式
[解决办法]
有几点我要告诉LZ
1.你没有使用标准C++写法。在C++中用const 代替#define.好处是可以进行类型检查
2.不明白你的下标为什么要从1开始
3。文件打开了没关上。造成资源浪费。

热点排行