Chercher une chaine dans une chaine
Bonjour,
Je réalise un programme qui doit trouver la date systeme (format jj/mm/aaaa de type char) dans un fichier texte. Si la date est contenu dans une ligne, je doit récupérer les ligne suivantes.
J'utilise la méthode strspn(chaine1, chaine2) mais visiblement ça ne marche pas (alors que ça devrai).
Voici mon code :
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
|
do
{
// Lit le fichier
fgets(chaine, 40, fichier);
// Si la date system est comprise dans la ligne lue
if(strspn(chaine, laDate->dateSystem))
{
do
{
// Lit la ligne
fgets(chaine, 40, fichier);
// Met la ligne courante dans la page
for(i = 0; i <= sizeof(chaine); i++)
{
pageCourante[i] += chaine[i];
}
// Convertis le séparateur en char
wcstombs_s(0, temp, separateur.GetLength () +1, separateur,_TRUNCATE);
/* Met le séparateur à la suite de la ligne
* Le séparateur délimite les parametres d'une page */
for(i = 0; i <= sizeof(temp); i++)
{
pageCourante[i] += temp[i];
}
/* On continue tant que la ligne n'est pas égal à "**************************************"
* Ces caracteres délimite la fin des pages dansle fichier */
}while(chaine != "**************************************");
}
// On continue tant que la fin du fichier n'est pas atteinte
}while (fgets(chaine, 40, fichier) != NULL); |
Pouvez vous m'aider svp ?