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

C++ read file and convert data

本文关键字:转换 数据 文件 读取 C++      更新时间:2023-10-16

我正在尝试制作一个程序,读取写在文本文件中的二进制数字,并将该二进制数字转换为另一个文件,但我不知道如何使用我的函数转换已经写在"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("%dn",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;
}

如果"BinaryInputFile.txt"中只有一个一二进制数,而没有其他字符

您可以将std::basic_string::c_str用于Binary函数,如下所示:-

myfile << "Converted binary number is: " << Binary( line.c_str() );

写入您的"BinaryConvert.txt"