我想讀一個二進制文件爲它的內容 它有兩套爲每個組件在第一行 倒數第二個字符的行指示組件文件的類型(^A二進制文件裝配和部分^B) 如果類型爲^A我需要解析與名始於下一行指定的文件^ @解析用C
àtype^@^Aà
name^@assembly1
àtype^@^Aà
name^@assembly2
àtype^@^Bà
name^@apart1
àtype^@^Bà
name^@apart2
當我嘗試解析此文件,我無法讀取文件中的二進制字符。 第一行包含一個二進制字符(→),所以我得到一個空行。第二行有^@名之後,所以我只得到「名」和len爲4 這是我的代碼片段
FILE *fp;
char line[256];
fp = fopen(name, "rb");
fgets(line, 256, fp);
printf("line %s\n", line);
printf("len %d\n\n", strlen(line));
fgets(line, 256, fp);
printf("line %s\n", line);
printf("len %d\n\n", strlen(line));
這是輸出
line
len 0
line name
len 4
我的目標是解析組件的類型(^ A或^ B),然後獲取組件的名稱。 請幫忙指出如何解決這個問題。
什麼是「二進制字符」?什麼是「非二進制字符」呢? –