问题描述
我在dev-c ++上的控制台上获得了正常的输出结果,但是代码将固定字符(即UTF16-LE格式)写入a_b_768.txt文件。奇怪的是:当我对另一个代码执行相同的文件输出过程时,我在文件中得到了正常的(UTF8)结果,而没有任何问题。
为什么我为输出文件获取一个代码的UTF16输出文件,而为另一个代码获取UTF8的为什么?编译器是相同的,标头是相同的,过程是相同的,但是一个代码将UTF 16写入文件,而另一个代码将UTF8写入文件。我只是添加以下问题的代码:
我该如何解决?有什么方法可以修改代码以在文件中获取UTF8输出?
#include <time.h>
#include<stdlib.h>
#include <stdio.h>
int main(){
int a[768];
int b[768];
int i;
/////////////////////////////////////////writing into a_b_768.txt
FILE *outFile;
outFile = fopen("a_b_768.txt","w");
if (outFile == NULL){
printf("Cannot Open File\n");
exit (0);
}
for ( i = 0;i < 768;++i)
{
a[i]=rand()%3;
fprintf(outFile,"%d ",a[i]);
}
//fprintf(outFile,"\n\n");
for ( i = 0;i < 768;++i)
{
b[i]=rand()%3;
fprintf(outFile,b[i]);
}
// fprintf(outFile,"\n\n\n\n");
fclose(outFile);
///////////////////////////////////printing on console
for ( i = 0;i < 768;++i)
{
a[i]=rand()%3;
printf("%d ",a[i]);
}
printf("\n\n");
for ( i = 0;i < 768;++i)
{
b[i]=rand()%3;
printf("%d ",b[i]);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)