Programme simple de formatage de numéros de téléphone
Bonjour à tous,
Je suis vraiment très peu doué en C mais j'aurais besoin de faire un programme qui formate un fichier contenant des numéros de téléphone.
Par exemple : un fichier nommé "numero.txt" contient au départ :
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
06,00,00,00,00
à la fin il devrait contenir :
0600000000,0600000000,0600000000,0600000000,0600000000,0600000000,0600000000,0600000000
Donc plus d'espace ni de passage à la ligne et suppression des virgules de séparation des chiffre 2 à 2 mais rajout de séparation 10 à 10.
J'ai commencé à codé ça : (je sais que je code comme un sagouin j'en suis désolé mais je n'arrives vraiment pas à m'y mettre au C)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
FILE* fichier = NULL;
fichier = fopen("numero.txt", "r+");
char chaine[2000];
char tmp = 'a';
char temp[1];
int c1 = 0;
if (fichier != NULL)
{
// Boucle de lecture des caractères un à un
do
{
tmp = fgetc(fichier); // On lit le caractère
if ((tmp < '0') || (tmp > '9')) {
} else {
temp[0] = tmp;
strcat(chaine, temp);
c1 += 1;
if (c1 % 10 == 0) {
strcat(chaine, ",");
}
}
} while (tmp != EOF);
printf("%s", chaine);
fclose(fichier);
}
else
{
// On affiche un message d'erreur si on veut
printf("Impossible d'ouvrir le fichier numero.txt");
}
return 0;
} |
Je me retrouve avec une erreur de segmentation et je n'arrive pas à m'en dépatouiller.
Merci d'avance pour votre aide.