我有一個編程任務,給出一個數據文件「candidatesdata.txt」 您應該讀取信息並解密名稱,性別,身高和體重。唯一的問題是每個數據記錄之間的名稱和逗號都有引號。文件如下:從文件中讀取時忽略不必要的字符C
Name,Gender,Height,Weight
"Tanner, Mark C.」,M,71.8,180.25
"Jinglehiemmerschmitt, John J.」,M,70.75,185.3
"Parker, Sarah J.",F,65.25,120.3
..cont。
如何讀取數據記錄並忽略引號和逗號? 這是我到目前爲止,它刪除了一些逗號和引號,但也在這個過程中它刪除了名稱。
#include <stdio.h>
struct candidateinfo
{
char name[50];
char gender;
double height;
double weight;
}candidate;
int main()
{
int count =0;
FILE *candidate_data;
// Open file
candidate_data = fopen("/Users/moisestrevino/Documents/CS 1324/Assignment #5/Assignment #5/candidatedata.txt","r");
fscanf(candidate_data, "%*[^\n]");
fgetc(candidate_data);
// Get rid of unecessary letters
while (count<40)
{
count++;
fscanf(candidate_data,"\"%[^\"],%c,%lf,%lf\n", candidate.name, &candidate.gender, &candidate.height, &candidate.weight);
printf("%s %c %lf %lf\n",candidate.name, candidate.gender, candidate.height, candidate.weight);
}
fclose(candidate_data);
return 0;
}
輸出:
Tanner, Mark C. 0.000000 0.000000
,M,71.8,180.25
0.000000 0.000000
Jinglehiemmerschmitt, John J. 0.000000 0.000000
,M,70.75,185.3
0.000000 0.000000
Parker, Sarah J. 0.000000 0.000000
,F,65.25,120.3
0.000000 0.000000
Meeks, Kalvin R. 0.000000 0.000000
,M,57.25,210.2
cont...
你___必須首先閱讀[this](http://stackoverflow.com/q/5431941/2173917)。 –
也請縮進您的代碼 – Eregrith
我應該使用EOF嗎? –