我有一个.csv文件:
lp;imie;nazwisko;ulica;numer;kod;miejscowosc;telefon;email;data_ur
1;Jan;Kowalski;ul. Nowa;1a;11-234;Budry;123-123-456;jan@go.xxx;1980.05.13
2;Jerzy;Nowak;ul. Konopnicka;13a/3;00-900;Lichowice;(55)333-44-55;jer@wu.to;1990.03.23
Run Code Online (Sandbox Code Playgroud)
我需要在C中阅读.我有一些代码,但仅用于连接.
我正在尝试编写一段简单的代码来读取CSV文件中的值,最多包含100个条目到一个结构数组中.
CSV文件的一行示例:
1,先生,詹姆斯,奎格利,主任,200000,0
我使用以下代码读取值,但是当我打印出值时,它们是不正确的
for(i = 0; i < 3; i++) /*just assuming number of entries here to demonstrate problem*/
{
fscanf(f, "%d,%s,%s,%s,%s,%d,%d", &inArray[i].ID, inArray[i].salutation, inArray[i].firstName, inArray[i].surName, inArray[i].position, &inArray[i].sal, &inArray[i].deleted);
}
Run Code Online (Sandbox Code Playgroud)
然后,当我打印出第一个名称时,所有值都分配给第一个名称:
for(j = 0; j < 3; j++) /* test by printing values*/
{
printf("Employee name is %s\n", inArray[j].firstName);
}
Run Code Online (Sandbox Code Playgroud)
ames,Quigley,Director,200000,0以这种方式给予等等.我确信这是我如何格式化fscanf线,但我不能让它工作.
这是我正在阅读的结构:
typedef struct Employee
{
int ID;
char salutation[4];
char firstName[21];
char surName[31];
char position[16];
int sal;
int deleted;
} Employee;
Run Code Online (Sandbox Code Playgroud)