C++读取文件并转换数据
C++ read file and convert data
我正在尝试制作一个程序,读取写在文本文件中的二进制数字,并将该二进制数字转换为另一个文件,但我不知道如何使用我的函数转换已经写在"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"
相关文章:
- 防止主数据类型C++的隐式转换
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 从矢量<无符号字符>转换为字符* 包括垃圾数据
- 如何在C++中将十六进制字符串转换为文本数据
- 将复杂的非基元C++数据类型转换为 Erlang/Elixir 格式,以使用 NIF 导出方法
- 从'size_t'转换为"常量双倍",可能会丢失数据
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- Static_cast转换为错误的数据类型,但结果仍然正确?
- 使用带有链表的堆栈数据结构将中缀转换为后缀
- PyTorch C++将数据转换为张量失败
- 使用从文件(stod、strtod、atof)中提取的数据C++从字符串转换为双精度.csv
- 虚拟成员函数的定义是否强制在同一转换单元中动态初始化静态数据成员?
- 如何使用 dart:ffi 将 Uint8List 转换为 C 等效数据类型
- 如何索引转换后的用户数据值?
- 使用 OpenCV 和 Android NDK 转换数据格式
- 如何转换数据结构以在 c++ 中转换字符*
- C++读取文件并转换数据
- 在C++中为C库强制转换数据类型
- 在C++中,关于位移和强制转换数据类型
- 最有效的方式转换数据帧到矩阵,反之亦然