2014-04-07 31 views
1

我正在嘗試構建一個能夠讀取包含jpg文件中的控制字符和空白字符的所有字符的程序....我將它讀爲\ n或\ t,但我可以'不要再增加兩個有共同或任何其它控制字符... 這裏是我的代碼..正在搜索 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; 
} 

任何人都可以幫助嗎?

+0

到底是什麼問題了嗎? –

+0

'while(getline(file,myString,'\ n'))'如果文件中的數據可以包含控制字符,這將如何工作? – PaulMcKenzie

+0

其實這個代碼給出了不能打印的字符,如00001010和\ t給我00001001 – user3487485

回答

0

變化

while(getline(file,myString,'\n')) 
{ 
    for (size_t i = 0; i < myString.size(); ++i) 
    { 
     fout <<"."<< bitset<8>(myString.c_str()[i]); 
    } 
} 

int c; 
while((c = file.get()) != EOF) 
{ 
    fout <<"."<< bitset<8>(c); 
} 
+0

'struct std :: ifstream'沒有名爲'getc'的成員 – user3487485

+0

對不起,應該是'get()'。修復了答案。 –

+0

謝謝..你是最好的:) ..這工作 – user3487485