2016-04-23 140 views
-2

我正在寫一些以前編寫的代碼。該代碼當前正在讀取字符數組緩衝區的輸入,但我現在需要能夠使用位掩碼和位移來保留文件中特定的整數子集。我已經有位掩碼和位移寫入的代碼,但我無法弄清楚如何將char數組轉換爲int。如何將char數組轉換爲C中的int?

char buffer[5]; 
FILE *fp = fopen(inputFile, "r"); 
while (fgets(buffer, 5, fp) != NULL) { 

    //Perform bit masking/shifting operations 

} 
+1

多'char's在'buffer'混搭在一起,使單個int? – yano

+0

...或者你需要string - > int? – Unimportant

+0

@ user1320881啊,是的,這可能更可能 – yano

回答

0

您可以使用標準功能strtol將字符串轉換爲整數:

char *end = NULL; 
int n = strtol(buffer, &end, 10); 
if (*end != '\0') { 
    // buffer contains unconvertible characters 
} 
// do something with n 
+0

是的,我的錯誤。 – fluter