strtol

    4熱度

    1回答

    我的目標是將諸如"A1234"之類的字符串轉換爲值爲1234的long。我的第一個步驟是隻是轉換"1234"到long,並且按預期工作: #include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { char* test = "1234"; long val = strtol(test,N

    1熱度

    1回答

    我的功能還沒有完全完成,但我現在要做的是長整數的上一行的變量個數讀取: 要分開的一串數字閱讀由空格。 從該字符串中提取數字。 將它們轉換爲長整數。 返回讀取號碼的數量。 int input(int a, int b, long int *result_array) { int ele = 0; char buffer[200]; char *start, *end;

    -1熱度

    2回答

    我試圖將此字符串"09195462965"轉換爲int,但我遇到了問題。 片斷我的代碼: int n, p, pnum=0; char buffer[256]; char *endptr; long pnumber; bzero(buffer,256); p = read(sock,buffer,255); pnumber = strtol(buffer, &endptr,

    0熱度

    1回答

    我想從有這樣的交流輸入文件整數:括號(我用的不是一個數字的大while循環和strcat的號碼後 (0 3 200 3) (0 9 500 3) (98 20 500 3) (100 1 100 3) (100 100 500 3) 的atoi和S做工精細的第一個數字)和任何只有一位數字的數字,但他們只返回括號後不正確數字的第一位數字。 以下是該方法的代碼: void allProcesses

    2熱度

    1回答

    我想讀取stdin上的幾個數字,每行有一個數字。我想忽略任何行後的數字和字符串後面的任何結尾文本。要實現這一點,我用下面的代碼: while (getline(cin, str)) { num = strtol(str.c_str(), NULL, 0); if (errno != ERANGE && errno != EINVAL) { arr[i++] = n

    2熱度

    3回答

    我是編程和C的新手,目前正在大學學習。這是一個任務,所以我想避免直接的答案,但更多的技巧或提示/推後正確的方向。 我想使用strtol來驗證我的鍵盤輸入,更具體地說,測試輸入是否是數字。我查看了其他網站和其他網站上的其他問題,並按照其他用戶的說明進行了操作,但這並沒有幫助我。 從我讀/理解strtol將的(長整型與strtol(爲const char *海峽,字符** endptr,INT基地);

    2熱度

    2回答

    strtol解析出給定字符串中的長整數。好的。但是,我怎麼能檢查是否有任何解析? 例如: 以下字符串產量0使用strtol: 0abcdef 然而 ,以下字符串產量0也使用strtol: abcdef 所以,我沒有指示是否f unction解析了有效的0或根本沒有解析任何東西,因此返回0。 如何驗證strtol是否正常工作或返回錯誤?有沒有其他的選擇? I read that strtol set

    2熱度

    1回答

    我正在讀取通過RS485發送的值,這是編碼器的值我首先檢查它是否返回了E字符(編碼器報告了錯誤),如果不是,則執行在緩衝區以下 *position = atoi(buffer); // Also tried *position = (s32) strtol(buffer,NULL,10); 值是4033536和位置被設置爲33536,這並不可能在1000次1每天都在發生的時間在這個功

    0熱度

    2回答

    我有一個以十六進制值形式返回數據的設備,例如00 00 00 56 00 00 01 00。我把它放到一個NSString中。我只對將第三和第四部分轉換爲雙倍感興趣。即只有00 56。 在諸如http://www.binaryhexconverter.com/hex-to-decimal-converter之類的網站上,它可以正常工作並返回我想要的值。 當我嘗試使用NSScanner時,它不喜歡它

    5熱度

    3回答

    此代碼似乎按預期方式工作,填充使用單個指針數的數組 #include <stdio.h> #include <ctype.h> #include <stdlib.h> int main(void) { int arr[4], count = 0, i; char *p, s[32] = " \t 10, 15 \n ,20, 25 , "; p = s;