0
我希望能夠將任何無符號長整數作爲我的程序的參數。考慮這個簡化版本。防止C解釋sscanf中的負整數
int main (int argc, char* argv[]){
unsigned long int steps;
sscanf(argv[1], "%lu", &steps);
printf("n is %lu \n",steps);
}
我的問題是,如果你給它-10將返回ULONG_MAX - 10,有一個優雅的解決方案,將返回我的整數範圍和0所有其他情況時。從我讀的內容來看,我可能需要以某種方式將fgets與正則表達式一起使用,也許這是最好的解決方案?
好酷感謝,我玩過atol一點,有沒有未簽名的計數器部分,或者我應該忘記使它未簽名?簽署它可能不是太嚴格。 – User
我已經編輯了一些代碼。希望這更適合你的需求... –
Yer應該是好的,歡呼的芽。 – User