算法札记:ACM适用的很骚的C++语法(持续更新)

iota(a,a+n+1,0):

从a0到an依次赋值0 1 2 3 4 ... n

atoi(s):

char* c; int x=atoi(c);若s="123A" => 123 若s="A123" => 0

  • str:要转换的字符串。

  • pos(可选):存储第一个未转换字符的索引(用于解析"123abc"这类混合字符串)。

  • base (可选):进制的核心参数 。取值范围是 2 到 36 ,或者特殊值 0。

16进制转2:

std::string hexStr = "A5"; // 16进制字符串 int num = std::stoi(hexStr, nullptr, 16); // 转成整数 std::bitset<8> bits(num); // 8位bitset std::cout << bits << std::endl; // 输出 10100101

strcmp(A,B):

相同返回0,不同返回1

sscanf(&s1,"%d",val)

字符串中某个字符的地址是从这个字符开始,s="123A" => val=23

char date_str\[\] = "2025-04-15";int year, month, day;

if (sscanf(date_str, "%d-%d-%d", &year, &month, &day) == 3)

substr

复制代码
    // 1. 指定起始位置和长度:从索引 6 开始,取 5 个字符 -> "World"
    std::string sub1 = str.substr(6, 5);
    std::cout << sub1 << std::endl; // 输出: World

    // 2. 只指定起始位置:从索引 6 直到末尾 -> "World"
    std::string sub2 = str.substr(6);
    std::cout << sub2 << std::endl; // 输出: World

strchr

复制代码
    char* p = strchr(s, ',');  // p 指向逗号

    if (p != NULL)             // 必须判空!
        std::string path = std::string(p + 1); 

c_str()

复制代码
    用 c_str() 获取 const char*,同时必须用 const char* 接收
    const char* p = strchr(s.c_str(), ','); t

to_string()

_for(i,0,16){

bitset<4> bt(i);

mpc\[i]=bt.to_string();

}

相关推荐
apcipot_rain3 小时前
C++转Java日记(06)
java·开发语言
小七在进步10 小时前
string的使用(1)
c++·visual studio
SomeOtherTime10 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood10 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青11 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
kloc14 小时前
聊天室项目入口网关子服务的实现
linux·c++
饮水桶_T15 小时前
JAVA IO流笔记
开发语言·数据结构·算法
csdn_aspnet17 小时前
C++ 3个有序点的方向(Orientation of 3 ordered points)
c++·算法
Felven17 小时前
C. Brr Brrr Patapim
c语言·开发语言
小七在进步18 小时前
string的使用(2)
c++