C++ C++;读取文件并转换数据

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

我正在尝试制作一个程序,该程序将读取写入文本文件中的二进制数,并将该二进制数转换为另一个文件,但我不知道如何使用我拥有的函数将已写入“BinaryInputFile.txt”中的数字进行转换。代码如下

#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
语句似乎做了正确的事情。它做了什么错了?