社区讨论

发现一种神奇的做法

P12681 【MX-J15-T1】叉叉学习数据类型参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mbz64i2a
此快照首次捕获于
2025/06/16 22:06
9 个月前
此快照最后确认于
2025/11/04 07:08
4 个月前
查看原帖
在C++17中引入了from_chars函数,可强制转换数据类型:
std::from_chars 函数接受一个字符串的起始和结束指针、一个用于存储结果的变量以及一个表示进制的参数。函数返回一个 std::from_chars_result 结构体,包含转换结果和错误信息。其原型如下:
CPP
template<class T>
std::from_chars_result from_chars(const char* first, const char* last, T& value, int base = 10);
firstlast 指向字符串的起始和结束位置。
value 是要存储转换结果的变量。
base 是转换的进制,默认为10。
函数返回一个 std::from_chars_result 结构体,包含指向写入字符串后的下一个位置的指针和错误码。
对于这题只需:
CPP
long long m;//m前可改为想要的数据类型
auto n=from_chars(s.data(),s.data()+s.size(),m);//s为输入的数
if(n.ec()==errc()) cout<<"long long"<<endl;//long long可改为所需
注:from_chars位于charconv头内,errc位于system_error头内。

回复

4 条回复,欢迎继续交流。

正在加载回复...