使用scanf讀取指定寬度的整數。C++如何讀取__int16_t整數使用scanf函數
#include <cstdio>
using namespace std;
int main(){
__int16_t a;
__int32_t b;
scanf("%d %d", &a, &b)
return 0;
}
有一個編譯器警告格式說明「%d」,需要「詮釋*」 ARG而不是「__int16_t *」 所以如何解決呢?
BTW C++ 11是不允許的!
沒有'__int24_t'的格式說明符,因爲這不是標準的數據類型 - 也許你的編譯器有一些特殊的擴展名(雖然它對整數類型來說是一個非常奇怪的寬度) – UnholySheep
你也應該更喜歡使用C++ 11 [固定寬度整數類型](http://en.cppreference.com/w/cpp/types/整數) – UnholySheep
'scanf'支持一組有限的數據類型。查看[此鏈接](http://en.cppreference.com/w/cpp/io/c/fscanf)中的'format'參數描述,以熟悉受支持的內容。 C++中的 –