在Native C ++中,我编写了一个将二进制文件转换为字符串的应用程序。我在互联网上搜索了我的问题!但我没有找到符合我问题的任何答案。所以你能说出来吗?怎么做?我希望控制台写"请输入二进制字符串:"当用户键入二进制文件并按下时输入控制台类型" \ n我的二进制文件的字符串值'为\ n"在句子的下方,我的二进制文件转换了字符串。
这是我的代码,但它将文本转换为二进制!!我怎样才能改变它!!这就是我的意思!!
#include <iostream>
#include <string>
#include <bitset>
#include <windows.h>
#include <stdio.h>
using namespace std;
int main()
{
SetConsoleTitle("Binary To Text Converter 1.0");
char letter = ' ', playAgain = 'Y';
string word = " ";
cout << "\t**Binary To Text Convertor 1.0**\n\n";
while (playAgain == 'Y'){
cout << "Please Enter A Binary Number: ";
getline (cin, word, '\n');
cout << "\nThe String Value For '" << word << "' Is \n";
for (unsigned int wordPosition = 0; wordPosition < word.size(); ++wordPosition){
letter = word[wordPosition];
bitset <8> binary(letter);
cout << binary;
}
cout << "\n\nWould You Like To Convert Any Another Binary Number? (Y/N)";
cin >> playAgain;
if (playAgain != 'Y'){
cout << "\n\nExiting program.";
playAgain = 'N';
}
cin.ignore();
}
return 0;
}
答案 0 :(得分:2)
读取用户输入流的每8位,并通过按位移位每个数字将其存储到char
中:
char strToChar(const char* str) {
char parsed = 0;
for (int i = 0; i < 8; i++) {
if (str[i] == '1') {
parsed |= 1 << (7 - i);
}
}
return parsed;
}
然后,打印出这些字符。
编辑:这假定用户输入和输出(使用ASCII编码):
输入二进制字符串:0100100001101001
转换:&#34;嗨&#34;