400000000000; 499999999999; VISA;tableaux de txt en c (chiffres longs)
50000000; 59999999; MASTERCARD;
67000000; 67999999; MAESTRO;
champs: 1. Début de plage 2. Fin de plage, 3 Nom.
Les champs [Plage de début] et [Plage de fin] peuvent avoir une longueur de 1 à 16 caractères (chiffres).
L'objectif du programme est le suivant:
Première demande d'entrer le numéro de carte à 16 chiffres.
Card number input, verification and processing use char [n] type (Simbol array)
Deuxièmement: Vérifier une entrée correspondant au numéro de carte entré se trouvent dans un fichier texte si j'entre 45.000.000.000 il est entre 400000000000 et 499999999999 donc je dois mettre un texte dans un nom de autput VISA. Et je ne peux pas utiliser de longs types ... comme je ne peux pas utiliser des tableaux ... Troisième Demande d'entrer le montant au format "nnnn.mm", où nnnn-1 à 4 chiffres lats, mais mm - nombre de santims à 2 chiffres.
char input[32]; // = "100;200;first";
char name[10];
int min, max, c, i, k;
FILE *file;
file = fopen("gg.txt","r");
i=0;
while ((c=getc(file))!= EOF)
{
k=(int)c;
input[i]=k;
i++;
}
char* result = NULL;
char delims[] = ";";
result = strtok(input, delims);
// atoi() converts ascii to integer.
min = atoi(result);
result = strtok(NULL, delims);
max = atoi(result);
result = strtok(NULL, delims);
strcpy(name, result);
printf("Min=%d, Max=%d, Name=%s\n", min, max, name);
printf("input=%s\n",input);
printf("%d\n",i);
getch();
return 0;
ce code qui m'a été donnée par varunl fonctionne Vith numéros Smal (le contenant du fichier gg.txt est la suivante: 100, 200, premier), mais un besoin smt autre, enybody, peut me aider?
long atol (const char * S); –
Dupliquer (ish) d'une question antérieure: http://stackoverflow.com/questions/7784679/reading-and-comparing-numbers-from-txt-file-c –