Modification de la version unsecured en PearProgramming avec Lenny

This commit is contained in:
Moncef STITI 2024-12-03 17:43:04 +01:00
parent abd096bb21
commit 9373aa5f6a

@ -23,18 +23,21 @@ void read_account(int fd, int index, char *name, int *balance) {
void write_account(int fd, int index, const char *name, int balance) {
char buffer[ACCOUNT_SIZE];
// Créer une chaîne formatée avec une largeur fixe
snprintf(buffer, ACCOUNT_SIZE - 1, "%-10s%4d", name, balance);
// Formater la chaîne avec un nom de 10 caractères et un solde de 5 caractères, espace rempli si nécessaire
snprintf(buffer, ACCOUNT_SIZE, "%-10s%5d", name, balance);
// Assurer que le buffer termine par '\n'
buffer[ACCOUNT_SIZE - 1] = '\n';
// S'assurer que le buffer est exactement de taille ACCOUNT_SIZE
// Ajouter des espaces si nécessaire pour remplir la ligne
for (int i = strlen(buffer); i < ACCOUNT_SIZE - 1; i++) {
buffer[i] = ' ';
}
buffer[ACCOUNT_SIZE - 1] = '\n'; // Assurez-vous que la ligne est terminée correctement
// Positionner et écrire dans le fichier
lseek(fd, index * ACCOUNT_SIZE, SEEK_SET);
write(fd, buffer, ACCOUNT_SIZE);
}
// Fonction pour effectuer une transaction
void perform_transaction(int fd, int account_count) {
int from_idx = rand() % account_count;
@ -159,6 +162,10 @@ int main(int argc, char *argv[]) {
}
printf("Solde total final : %d€\n", final_balance);
if (initial_balance != final_balance) {
printf("Le solde final est différent du solde initial...\n");
}
printf("Tout les processus sont terminés !\n");
return 0;