c - 我的代码的输出文件中出现了奇怪的字符
问题描述
我在 dev-c++ 的控制台上得到了正常的输出结果,但是代码将 stange 字符(即 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,"%d ", 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]);
}
}
解决方案
推荐阅读
- excel - 需要一个宏来询问某人的用户名,以便它可以打开工作簿
- mysql - 过滤数据库中表的方法,然后在每个表中更新相同的列值
- python - 如何设置平滑过渡的 Windows 10 桌面背景?
- javascript - 通过 Ajax 附加图像时如何检查何时加载了 srcset 图像
- typescript - 如何在 Visual Studio 2017 的 typescript 菜单中选择 esNext
- python - 自定义数据透视函数导致高页面错误率和句柄
- sonarqube - 如何克服 SonarQube 在单元测试和集成测试之间缺失的区别?
- ios - 在应用程序记录文本中持久(不在内存中)的最有效方式/策略是什么?
- java - 通过 Google 身份验证将客户端 Web id 放入 Strings.xml 是否安全?
- java - 无法运行默认测试,但应用程序工作正常。Spring boot 无法创建 entityManagerFactory bean,无法加载上下文