我需要从stdint.h在int16_t中存储值。如何从用户终端读取此值?
这个答案的方式(所以,我们有 int32_t、int16_t、uint64_t 等。但是 atoi32、atoi16、atoui64 等在哪里?)在 Ubuntu g++ 编译器上不起作用。
我更喜欢使用标准 C++ 库。就像是:
#include <cstdio>
#include <stdint.h>
#include <iostream>
using namespace std;
int main ( void ) {
char value [] = "111";
int16_t tmp;
if ( sscanf ( value, "%???", & tmp) == 1 ) cout << "OK" << endl;
return 0;
}
还是更好地读取标准整数然后转换它?
我不使用 C++11。