如何解决我的代码输出文件中出现奇怪的字符
我在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 举报,一经查实,本站将立刻删除。