c++文件输入问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:24:31
以前vc++用的好好的
#include<stdio.h>
int main()
{
freopen("aa.out","w",stdout);
for(int i=1;i<=100;i++)printf("%d ",i);
return 0;
}
以前的话aa.out里面是从一到100
不知道什么神奇的问题出现后以后执行这样的向文件输出的程序
输出文件里面就变成乱码了 屏幕输出是正常的
请问 这是咋了

可以明确的说你的输出是正确的,说明不是程序的问题。
那么可能的问题就是,文件查看器的问题,使用其他的编辑器打开看看。比如UE。
如果还不行的话,可能也不会有人知道是怎么回事的,比较你的机器上到底发生了什么,别人是没法知道的。

你别用aa.out啊,可以用aa.txt这样绝对没问题

你的这段程序的显示和你打开的文件根本没有关系啊,你的显示是从for循环中的i得到的,所以,无论你文件里面内容是什么你的显示永远是正确的,因为你没有从文件里读内容。

有点看不懂你的函数,不知道是不是C++里的库函数

如果我来写C++风格的,我会这样写

#include<fstream>
#include<iostream>
#include<string>
using namespace;

int main()
{
string filename;
cout>>filename;//输入文件名,包括后缀名
ofstream out_obj;//声明一个从内存写到硬盘的文件流对象,称为写出
out_obj.open(filename.c_str());//建立这个文件,并作好准备向里面写入数据
for(int i=1;i<=100;i++)//循环
out_obj<<i;//向文件里写数据,就像标准输出一样方便
out_obj.close();//关闭文件,同时数据更新
return 0;
}