這裏是我的代碼:如何通過電子郵件解決sscanf問題?
#include <stdio.h>
int main(int argc, char **argv)
{
const char example[]="13902796D ; Josefa Moral Fidalgo ; [email protected] ; 01/03/2001 ; 0 ; 1 ;";
char DNI[10];
char name[100];
char email[100];
char date[10];
int gender;
int uni;
sscanf(example, "%[^;] ; %[^;] ; %[^;] ; %[^;] ; %d ; %d ; ",
DNI, name, email, date, &gender, &uni);
printf("DNI: %s\n", DNI);
printf("Name: %s\n", name);
printf("Email: %s\n", email);
printf("Date: %s\n", date);
printf("Gender: %d\n", gender);
printf("Uni: %d\n", uni);
return 0;
}
而這裏的結果:
DNI: 13902796D
Name: Josefa Moral Fidalgo
Email:
Date: 01/03/2001
Gender: 0
Uni: 1
但我希望得到的結果:
DNI: 13902796D
Name: Josefa Moral Fidalgo
Email: [email protected]
Date: 01/03/2001
Gender: 0
Uni: 1
我用C新手,但我可以」在互聯網上找到任何答案,在這裏也沒有Stackoverflow,並檢查一些書籍,但無法找到代碼的原因
sscanf(example, "%[^;] ; %[^;] ; %[^;] ; %[^;] ; %d ; %d ; ",
DNI, name, email, date, &gender, &uni);
不起作用。誰能幫我?我不能使用sscanf
以外的其他功能,這就是我的教授想要在代碼中使用的功能。
除尾部空格外,還需要爲空字符串終止符留出空間。 – Barmar