SHA256
stdio支持
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
# BetterSTL cin/cout 支持
|
||||
|
||||
现在三个核心类都支持标准输入输出:
|
||||
|
||||
## BigInteger - 高精度整数
|
||||
|
||||
```cpp
|
||||
#include <bstl/big_integer.hpp>
|
||||
#include <iostream>
|
||||
|
||||
bstl::BigInteger bi;
|
||||
std::cout << "Enter a large integer: ";
|
||||
std::cin >> bi;
|
||||
std::cout << "You entered: " << bi << std::endl;
|
||||
```
|
||||
|
||||
支持任意精度的整数输入输出,不受 `long long` 限制。
|
||||
|
||||
## BigDecimal - 高精度浮点数
|
||||
|
||||
```cpp
|
||||
#include <bstl/big_decimal.hpp>
|
||||
#include <iostream>
|
||||
|
||||
bstl::BigDecimal bd;
|
||||
std::cout << "Enter a decimal number: ";
|
||||
std::cin >> bd;
|
||||
std::cout << "You entered: " << bd << std::endl;
|
||||
```
|
||||
|
||||
支持任意精度的浮点数输入输出,精度不丢失。
|
||||
|
||||
## String - 增强字符串
|
||||
|
||||
```cpp
|
||||
#include <bstl/string.hpp>
|
||||
#include <iostream>
|
||||
|
||||
bstl::String str;
|
||||
std::cout << "Enter a word: ";
|
||||
std::cin >> str;
|
||||
std::cout << "You entered: " << str << std::endl;
|
||||
|
||||
// 可以使用 Python 风格的方法
|
||||
std::cout << "Uppercase: " << str.upper() << std::endl;
|
||||
std::cout << "Split: ";
|
||||
auto parts = str.split("_");
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
编译和运行演示程序:
|
||||
|
||||
```bash
|
||||
cd /home/archzero/C++/BetterSTL
|
||||
cmake -S . -B out/build -G Ninja
|
||||
cmake --build out/build
|
||||
|
||||
# 运行库测试
|
||||
ctest --test-dir out/build
|
||||
|
||||
# 运行演示(需要在终端交互)
|
||||
./out/build/IOTests
|
||||
```
|
||||
|
||||
## 实现细节
|
||||
|
||||
### operator<<(输出)
|
||||
- BigInteger: 通过 `toString()` 输出
|
||||
- BigDecimal: 通过 `toString()` 输出
|
||||
- String: 通过 `str()` 输出
|
||||
|
||||
### operator>>(输入)
|
||||
- BigInteger: 读取字符串,创建新对象
|
||||
- BigDecimal: 读取字符串,创建新对象
|
||||
- String: 读取字符串,创建新对象
|
||||
|
||||
所有运算符都定义在 `bstl` 命名空间中。
|
||||
|
||||
## 编译链接
|
||||
|
||||
在编译你的程序时:
|
||||
|
||||
```bash
|
||||
g++ your_program.cpp -I/path/to/include -L/path/to/lib -lBetterSTL -o your_program
|
||||
```
|
||||
|
||||
或者使用静态库:
|
||||
```bash
|
||||
g++ your_program.cpp -I/path/to/include /path/to/libBetterSTL.a -o your_program
|
||||
```
|
||||
Reference in New Issue
Block a user