我有一個這種形式的txt檔案:
11
10
BU
1U
0U
0U
...
我想從 C 中的檔案中逐個讀取每個數字/字符。前兩行包含 2 個整數,其余行首先包含一個字母/整數,然后是一個字母。不幸的是,我不知道如何實作這一點,因為您無法知道您讀取的是整數還是字符。
有人可以幫我解決這個問題嗎?
uj5u.com熱心網友回復:
這是一個關于如何處理檔案中的每個字符并在遇到一個時將其轉換為整數的最小示例。我相信您可以嘗試根據您的需要調整此代碼。代碼另外會跳轉換行符和 EOF。
為了更好地理解這是如何作業的,請查看標準ASCII。
#include<stdio.h>
int main(){
FILE * handle;
handle = fopen("data.txt","r");
char var;
while(var!=EOF){
var=fgetc(handle);
if(var>47&&var<58){
printf("Value: %d",var);
printf(" Integer: %d \n",var-48);
}
else if(var!=10 && var!=-1){
printf("Value: %d",var);
printf(" Char or other: %c\n",var);
}
}
}
輸出:
Value: 49 Integer: 1
Value: 49 Integer: 1
Value: 49 Integer: 1
Value: 48 Integer: 0
Value: 66 Char or other: B
Value: 85 Char or other: U
Value: 49 Integer: 1
Value: 85 Char or other: U
Value: 48 Integer: 0
Value: 85 Char or other: U
Value: 48 Integer: 0
Value: 85 Char or other: U
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/370323.html
