【发布时间】:2014-05-19 04:16:32
【问题描述】:
我正在尝试构建一个能够读取所有字符的程序,包括 jpg 文件中的控制字符和空格 .... 我让它读取 \n 或 \t 但我不能同时添加它们或任何其他控制字符... 这是我的代码..
#include <string>
#include <bitset>
#include <iostream>
#include<fstream>
using namespace std;
int main(){
ifstream file("E:\\2.jpg", ios::binary);
string myString;
ofstream fout("E:\\mnmn.txt");
while(getline(file,myString,'\n') )
{
for (size_t i = 0; i < myString.size(); ++i)
{
fout <<"."<< bitset<8>(myString.c_str()[i]);
}}
return 0;
}
有人可以帮忙吗?
【问题讨论】:
-
你的问题到底是什么?
-
while(getline(file,myString,'\n') )如果文件中的数据可以包含控制字符,这将如何工作? -
好吧,实际上这段代码给出了像 00001010 这样不可打印的字符,而 \t 给了我 00001001
-
@MarkRansom 我的问题是我无法将所有 jpg 打印为二进制 .. 缺少控制字符
-
\n== 00001010 和\t== 00001001 通常被认为是可打印的,尽管它们在 ASCII 的控制代码范围内。