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
不知道什么神奇的问题出现后以后执行这样的向文件输出的程序
输出文件里面就变成乱码了 屏幕输出是正常的
请问 这是咋了
#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;
}