Utilize esse scanf Moderno para C++

scnlib é uma biblioteca C++ moderna para substituir scanf e std::istream. Esta biblioteca tenta nos aproximar ainda mais da substituição completa de iostream e stdio em C. É mais rápida que iostream e tipada, ao contrário de scanf. Pense em {fmt} ou em std::format em C++20, mas em outra direção. Esta biblioteca é a implementação de referência da proposta de padrões ISO C++ P1729 "Análise de Texto". Instalação Para compilar basta clonar com git e usar o CMake e instalar: git clone https://github.com/eliaskosunen/scnlib cd scnlib cmake -B build . cmake --build build sudo cmake --install build Após isso, já pode sair do repositório e removê-lo: cd .. && rm -rf scnlib. Exemplo básico Nesse exemplo, além da scnlib também há o uso o println do C++23, vamos ler 2 números via prompt e automaticamente será exibida a soma deles: main.cpp #include #include constexpr auto sum = [](int x, int y){ return x + y; }; int main(){ if(auto result = scn::prompt("Informe 2 números para somar? ", "{} {}")) { auto [a, b] = result->values(); std::println("A soma de {} mais {} é: {}", a, b, sum(a, b)); }else{ std::println(stderr, "Error: {}", result.error().msg()); } } Para compilar use a flag: -lscn: g++ main.cpp -lscn E então, rode o binário e teste, exemplo: ./a.out Informe 2 números para somar? 3 6 A soma de 3 mais 6 é: 9 Para mais informações acesse o repositório oficial e o endereço: https://scnlib.dev/.

May 9, 2025 - 21:44
 0
Utilize esse scanf Moderno para C++

scnlib é uma biblioteca C++ moderna para substituir scanf e std::istream. Esta biblioteca tenta nos aproximar ainda mais da substituição completa de iostream
e stdio em C.

É mais rápida que iostream e tipada, ao contrário de scanf. Pense em {fmt} ou em std::format em C++20, mas em outra direção.

Esta biblioteca é a implementação de referência da proposta de padrões ISO C++ P1729 "Análise de Texto".

Instalação

Para compilar basta clonar com git e usar o CMake e instalar:

git clone https://github.com/eliaskosunen/scnlib
cd scnlib
cmake -B build .
cmake --build build
sudo cmake --install build

Após isso, já pode sair do repositório e removê-lo: cd .. && rm -rf scnlib.

Exemplo básico

Nesse exemplo, além da scnlib também há o uso o println do C++23, vamos ler 2 números via prompt e automaticamente será exibida a soma deles:

main.cpp

#include 
#include  

constexpr auto sum = [](int x, int y){
  return x + y;
};

int main(){
  if(auto result =
      scn::prompt<int, int>("Informe 2 números para somar? ", "{} {}")) {
    auto [a, b] = result->values();
    std::println("A soma de {} mais {} é: {}", a, b, sum(a, b));
  }else{
    std::println(stderr, "Error: {}", result.error().msg());
  }
}

Para compilar use a flag: -lscn:

g++ main.cpp -lscn

E então, rode o binário e teste, exemplo:

./a.out
Informe 2 números para somar? 3 6
A soma de 3 mais 6 é: 9

Para mais informações acesse o repositório oficial e o endereço: https://scnlib.dev/.