Skip to content

Commit 192315f

Browse files
committed
feat(example): add print_hex example
1 parent d6266b6 commit 192315f

File tree

2 files changed

+31
-0
lines changed

2 files changed

+31
-0
lines changed

examples/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
add_custom_target(examples)
22

3+
add_executable(example_print_hex print_hex.cpp)
4+
target_link_libraries(example_print_hex PRIVATE errors)
5+
add_dependencies(examples example_print_hex)
6+
37
add_executable(example_read_file read_file.cpp)
48
target_link_libraries(example_read_file PRIVATE errors errors_format)
59
add_dependencies(examples example_read_file)

examples/print_hex.cpp

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#include <errors/error.hpp>
2+
#include <iostream>
3+
4+
errors::Error print_hex(const char* number_str) {
5+
int number = std::atoi(number_str);
6+
if (number == 0) {
7+
return errors::make("is not a number");
8+
}
9+
10+
std::cout << std::hex << number << std::endl;
11+
return errors::nil();
12+
}
13+
14+
int main(int argc, char **argv) {
15+
if (argc < 2) {
16+
std::cerr << "usage: " << argv[0] << " <number>" << std::endl;
17+
return 1;
18+
}
19+
20+
const auto err = print_hex(argv[1]);
21+
if (err) {
22+
std::cerr << err << std::endl;
23+
return 1;
24+
}
25+
26+
return 0;
27+
}

0 commit comments

Comments
 (0)