IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

lecture de données


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Par défaut lecture de données
    Bonsoir à tous,

    Je sollicite ici votre aide pour un programme qui a pour but de générer un signal sinusoidal à partir de paramètres mis dans un fichier de configuration conf.txt. Voici le code pour la lecture des paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int arc, char *argv[])
    {
        FILE* fichier=NULL;
        int caractereActuel=0;
     
        fichier=fopen("coco.txt","r");
     
        if(fichier!=NULL)
        {
     
            caractereActuel=fgetc(fichier);
     
     
            while (caractereActuel != EOF)
    {
        printf("%c",caractereActuel);
        caractereActuel=fgetc(fichier);
    }
    fclose(fichier);
        }
    return 0;


    J'utilise ici le bloc-notes pour y mettre les paramètres mais apparemment mon programme ne trouve pas ce fichier vu qu'il ne m'affiche rien au terminal en retour.

    Si quelqu'un a une idée, un conseil ce sera avec grand plaisir vu que je suis d'un niveau débutant en C. Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Ton fichier se trouve bien dans le même répertoire que ton exécutable ?

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Par défaut lecture de données
    Oui j'ai vérifié le chemin, c'est bien le même. Je ne l'avais pas mis dans le code :

    fichier = fopen("C:\Users\pc\Desktop\coco.txt", "r+");

    Ca ne fonctionne toujours pas, le message renvoyé est :

    C:\Users\pc\Desktop\essai_lecture_fichier\main.c|9|warning: universal character names are only valid in C++ and C99|
    C:\Users\pc\Desktop\essai_lecture_fichier\main.c|9|error: incomplete universal character name \U|
    C:\Users\pc\Desktop\essai_lecture_fichier\main.c|9|warning: unknown escape sequence '\p'|
    C:\Users\pc\Desktop\essai_lecture_fichier\main.c|9|warning: unknown escape sequence '\D'|

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    D'après les messages d'erreur, le chemin n'est pas correct.
    Les \ (antislash) ne sont pas authorisés (unknown escape sequence '\p').
    Utilise des / (slash).
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Par défaut lire des données
    Re,

    C'est bon, je parviens à écrire des données dans un fichier, le code suivant fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    int main(int argc, char *argv[])
    {
        FILE* fichier = NULL;
        int choix = 0;
        //On ouvre le fichier de configuration test.txt
        fichier = fopen("C:/Users/pc/Desktop/test.txt", "r+");
     
        //fichier = fopen("test.txt", "w");
        //Condition sur l'ouverture du fichier
        if (fichier != NULL)
        {
            printf("Quel type de signal choisissez-vous ?\n 1. Signal carre periodique\n 2. Signal sinusoidal\n 3. Signal imulsionnel\n ");
            scanf("%d", &choix);
            //Condition sur le choix du signal
            if (choix < 4&&choix!=0)
            {
     
     
     
     
            // On l'écrit dans le fichier
            fprintf(fichier, "Le signal choisi est le numero %d", choix);
            fclose(fichier);
        }
     
        else
        {
            // On affiche un message d'erreur si le numero saisi n'est pas dans ceux demandés
            printf("Veuilez choisir un signal par les numeros indiques : 1, 2 ou 3.\n");
        }
     
        }
     
        return 0;
    }
    A présent je veux créer un fichier qui contient différents paramètres (amplitude, fréquence d'échantillonnage...) et un code qui lit ces paramètres et génère un signal choisi. Je sais coder un sinus par exemple où le code fait le calcul pour une valeur mais comment coder un sinus qui calcule un certain nombre de points avec un pas donné ?

    Merci.

  6. #6
    Membre émérite
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Par défaut
    Citation Envoyé par Bousk Voir le message
    D'après les messages d'erreur, le chemin n'est pas correct.
    Les \ (antislash) ne sont pas authorisés (unknown escape sequence '\p').
    Utilise des / (slash).
    Si si ils sont autorisés, mais en C le \ permet de "coder" certaines séquences. Pour avoir le caractère \ il suffit d'en mettre 2 (\\).
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fichier = fopen("C:\\Users\\pc\\Desktop\\coco.txt", "r+") ;
    Il en va de même avec le caractère % qui est un caractère de formatage pour les chaines. Pour afficher le %, il faut en mettre 2 (%%).

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2011
    Messages : 10
    Par défaut
    Bonsoir,
    Si j'ai bien compris, ton pas c'est toi qui le détermine, donc logiquement chaque valeur est associé à un pas, donc il suffit de calculer le sinus correspondant au pas. Après libre a toi d'oragniser ton fichier quand tu l'enregistre du type : (pas) (valeur) (sinus correspondant)

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/09/2005, 14h05
  2. Réponses: 6
    Dernier message: 15/09/2005, 14h04
  3. [FLASH MX2004] [XML] Lecture de données XML
    Par ZiT dans le forum Flash
    Réponses: 1
    Dernier message: 12/07/2005, 11h51
  4. [JList] Lecture des données sauvegardées dans un fichier
    Par Myogtha dans le forum Composants
    Réponses: 7
    Dernier message: 10/06/2004, 21h05
  5. lecture de données a partir de fichier
    Par sana dans le forum MFC
    Réponses: 5
    Dernier message: 21/01/2004, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo