gpt4 book ai didi

C++ 将字符串解析为具有特定类的整数

转载 作者:太空狗 更新时间:2023-10-29 23:21:02 24 4
gpt4 key购买 nike

这听起来可能很愚蠢,但我只是想知道如何在 C++ 中将字符串解析为整数?

这是一个学校项目,解释表说:“只允许使用 iostreamstring 类和 system() 函数;使用任何其他类或函数是允许的禁止。”

我搜索了一下,但我找到的唯一建议是使用像 atoiatof 这样的类。

输入字符串在解析之前已经过错误检查,因此它始终只包含一个整数。

我不介意使用条件手动进行解析,但我认为这不是我的老师(或任何人)的首选方式。

如果您能提供帮助,非常感谢。

最佳答案

那么,你可以使用system(),对吧?看看这个工程杰作:

#include <fstream>

void download_boost() {
system("wget http://downloads.sourceforge.net/"
"project/boost/boost/1.47.0/boost_1_47_0.tar.bz2"
"?r=http%3A%2F%2Fwww.boost.org%2Fusers%2Fhistory%2F"
"version_1_47_0.html&ts=1316116936&use_mirror=kent"
" -O boost_1_47_0.tar.bz2");
}

void unpack_boost() {
system("tar --bzip2 -xf boost_1_47_0.tar.bz2");
}

void write_program() {
std::ofstream os("blah.cpp");
os << "#include \"boost/lexical_cast.hpp\"\n"
"#include <iostream>\n"
"#include <string>\n"
"int main() { std::string s; std::cin >> s;"
"int i = boost::lexical_cast<int>(s);"
"std::cout << i; }";
}

void compile_program() {
system("g++ -Iboost_1_47_0 blah.cpp");
}

void run_program() {
system("./a.out");
}

int main() {
download_boost();
unpack_boost();
write_program();
compile_program();
run_program();
}

(我假设安装了一些常用工具的典型 Linux 安装。)

关于C++ 将字符串解析为具有特定类的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7435719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com