当读文件为英文时,对文本文件的写入显示为中文
Writing to text file are appearing in Chinese when the read file is in english
谁能告诉我这个程序出了什么问题?它应该从输入文件中读取并写入输出文件。它会用'。,表示行已经结束。
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <cctype>
int _tmain(int argc, _TCHAR* argv[])
{
const int LENGTH = 250;
char in[LENGTH];
std::ifstream inFile;
std::ofstream outFile;
char ch;
inFile.open("infile.txt");
if (inFile.fail())
{
std::cout << "Error no file";
exit(1);
}
outFile.open("outfile.txt", std::ios::out);
while (!inFile.fail())
{
int count = 1;
inFile.getline(in, LENGTH);
ch = toupper(in[0]);
outFile << ch;
std::cout << ch;
while (!(ch == '.'))
{
ch = in[count];
outFile << ch;
std::cout << ch;
outFile.flush();
count++;
}
}
inFile.close();
outFile.close();
return 0;
}
当我运行这段代码时,输出文件充满了中文字符。当显示到cout
时,它似乎正确地显示它减去格式问题,我想当它被写入文件时,流没有冲洗,只是将ASCII数字组合在一起。
谢谢你的帮助
while (!(ch == '.'))
将使您读取超出中的字符数组,并导致stackoverflow。
要解决此问题,请尝试用
替换这一行while (ch != 0)
您应该依靠0(ascii ' ')来检查终端是否有C字符串,而不是字符'.'
相关文章:
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- gtkmm 显示文件内容
- 如何从QFile阅读?它显示该文件不可访问
- 在QTreeView中仅显示共享驱动器和文件夹
- 如何在 MFC 中显示文件的所有行
- 禁止显示有关包含文件中 #pragma 包的警告
- Visual Studio C++ 它只构建选项卡中显示的文件吗?
- 在 txt 文件中显示前两个数字的程序
- 使用 Cmake 在 Qt Creator 中显示头文件
- 如何从文件中显示蛋糕名称?
- 与clang++一起使用的VS代码在构建良好的C++文件中显示错误
- 如何从文件显示布尔值表
- 合并排序,I/O使用文件显示分割故障
- 文件I/O-显示文件的内容
- 一般生成文件显示没有规则来生成目标错误
- 使用 C++ 和 Qt 如何将 16 位原始文件显示为图像
- eclipse(stm32)Why中的项目资源管理器中,一些stderivi文件显示为灰色
- 将大 CSV 文件显示为表格
- Visual studio .cu文件显示语法错误,但编译成功
- 列表未从 TXT 文件显示