scnlib
scanf for modern C++ (by eliaskosunen)
pystring
C++ functions matching the interface and behavior of python string methods with std::string (by imageworks)
scnlib | pystring | |
---|---|---|
18 | 7 | |
955 | 839 | |
- | 0.7% | |
9.3 | 0.0 | |
8 days ago | 10 months ago | |
C++ | C++ | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scnlib
Posts with mentions or reviews of scnlib.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-07.
-
Why are strings and IO so complicated?
scnlib (https://github.com/eliaskosunen/scnlib) scanf
- Reddit++
- Safe and cross platform C++11 alternative to sscanf
-
CPM.cmake to make CMake's FetchContent easier
include(FetchContent) FetchContent_Declare( Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_TAG v3.0.0-preview4 ) FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 9.1.0 ) FetchContent_Declare( scnlib GIT_REPOSITORY https://github.com/eliaskosunen/scnlib.git GIT_TAG v1.1.2 ) FetchContent_MakeAvailable(Catch2 fmt scnlib)
-
[C++20] ClearIO library (unfinished)
Yeah, but parsing format strings in runtime induces an overhead, and doing it in compile time is not trivial, and I’m not sure ClearIO is worth the trouble, since it turns out scnlib exists.
-
My AoC2021 solutions in C++
The code is rather nice (in my biased opinion) and makes heavy use of a couple of libraries like scnlib and [Eigen](eigen.tuxfamily.org/). Some things could probably be more optimized but I mainly focused on conciseness. I hope this is useful and I can explain my thought process further if you have any questions.
-
what annoys you most while using c++?
I've found https://github.com/eliaskosunen/scnlib but haven't tested it. Maybe that suits your needs for 2.
-
The Year is 2022 and the Standard is C++20; what is your preferred way to do Text I/O?
I had a user enum like enum class Color {Red, Green, Blue}; that I wanted to add serialization support for. Following the docs (https://scnlib.readthedocs.io/), after some tweaks I arrived at the following:
-
scnlib (scanf for modern C++) - version 1.0 released
Thanks for the comment, I made an issue tracking this: https://github.com/eliaskosunen/scnlib/issues/51
-
Modern C++ in Advent of Code
I am using some modern libraries: scnlib fmtlib Eigen and usually abuse lambdas :)
pystring
Posts with mentions or reviews of pystring.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-12-07.
-
Why are strings and IO so complicated?
If you are used to python strings give pystring from Sony Imageworks a go. https://github.com/imageworks/pystring
-
For processing strings, streams in C++ can be slow
If performance matters, write your own specialized string processing code which works on "raw" data in memory buffers. If convenience matters look at https://github.com/fmtlib/fmt (or std::format which AFAIK is less feature rich) and https://github.com/imageworks/pystring.
-
Is this a valid use for goto?
Personally I use pystring for my projects as I use both C++ and python so the api is familiar.
-
Is there a std::string::split or something similar?
I've been using this for a number of years https://github.com/imageworks/pystring Works really well especially if you are used to python strings.
-
How can remove the space at the beginning and end of the tokens?
I use this https://github.com/imageworks/pystring for most of my string processing (as I write a lot of both C++ and Python), you can use the lstrip / rstrip and strip methods, you just need to drop in the .cpp and .h files to your projects. It makes life so much easier.
-
Help With File Reading
There are various libraries out there that make this much easier such as boost. Personally I use pystirng https://github.com/imageworks/pystring as I use loads of python too.
What are some alternatives?
When comparing scnlib and pystring you can also consider the following projects:
C++ Format - A modern formatting library
aoc2023 - C++23 aoc 2023
gainput - Cross-platform C++ input library supporting gamepads, keyboard, mouse, touch
lexy - C++ parsing DSL
cpp-peglib - A single file C++ header-only PEG (Parsing Expression Grammars) library
FilesAndParsing
aoc2021 - Advent of Code 2021
tinyformat - Minimal, type safe printf replacement library for C++
libflow
AnyAny - C++17 library for comfortable and efficient dynamic polymorphism
soloud - Free, easy, portable audio engine for games
think-cell-library - think-cell core library