C++ C++;读取文件并转换数据
我正在尝试制作一个程序,该程序将读取写入文本文件中的二进制数,并将该二进制数转换为另一个文件,但我不知道如何使用我拥有的函数将已写入“BinaryInputFile.txt”中的数字进行转换。代码如下C++ C++;读取文件并转换数据,c++,binary,fstream,C++,Binary,Fstream,我正在尝试制作一个程序,该程序将读取写入文本文件中的二进制数,并将该二进制数转换为另一个文件,但我不知道如何使用我拥有的函数将已写入“BinaryInputFile.txt”中的数字进行转换。代码如下 #include <iostream> #include <bitset> #include <string> #include <fstream> #include <math.h> int Binary(const char* b
#include <iostream>
#include <bitset>
#include <string>
#include <fstream>
#include <math.h>
int Binary(const char* binary);
using namespace std;
int main()
{
char* Num = "1010";
string line;
ifstream myfile ("BinaryInputFile.txt");
if (myfile.is_open()){
while ( getline (myfile,line) ){
cout << "Binary number read from the file is: " << line << '.\n'; // display line
// printf("%d\n",Binary(line));
}
ofstream myfile ("BinaryConvert.txt");
myfile << "Converted binary number is: " << '.\n';
myfile.close(); //close file
}
else cout << "Unable to open file";
return 0;
}
int Binary(const char* binary) //conversion
{
int len,dec=0,i,exp;
len = strlen(binary);
exp = len-1;
for(i=0;i<len;i++,exp--)
dec += binary[i]=='1'?pow(2,exp):0;
return dec;
}
#包括
#包括
#包括
#包括
#包括
整数二进制(常量字符*二进制);
使用名称空间std;
int main()
{
char*Num=“1010”;
弦线;
ifstream myfile(“BinaryInputFile.txt”);
如果(myfile.is_open()){
while(getline(myfile,line)){
如果在“BinaryInputFile.txt”
中只有一个二进制数,而没有其他字符,则不能
您可以像下面这样使用二进制
函数:-
myfile无法理解如何使用函数“int binary(const char*binary);”转换文本文件中的二进制数。您注释掉的printf
语句似乎做了正确的事情。它做了什么错了?