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 :

Problème et AVC : _wfopen_s


Sujet :

C++

  1. #1041
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Je ne vois toujours pas de question.

    Pour que votre code compile et marchouille il faut juste décommenter l'un des constructeurs de SequenceVisionnage et rendre publique l'opérateur d'égalité que vous avez confondu avec l'opérateur d'assignation.
    Vous avez besoin des 2 constructeurs de SequenceVisionnage "en même temps".

    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
    struct SequenceVisionnage
    {
        SequenceVisionnage(const Episode& episode, const SequenceVisionnage& src) :
            m_episode{ episode }, m_titres{ src.m_titres }, m_streaming{ src.m_streaming },
            m_duree_en_seconde{ src.m_duree_en_seconde }, m_resume{ src.m_resume },
            m_DatesVisionnage{ src.m_DatesVisionnage }
        {
        };
        SequenceVisionnage(const Episode& episode, const InfosVisionnage& info_vis) :
            m_episode{ episode }, m_titres{ info_vis.m_titres }, m_streaming{ info_vis.m_streaming },
            m_duree_en_seconde{ info_vis.m_duree_en_seconde }, m_resume{ info_vis.m_resume },
            m_DatesVisionnage{ info_vis.m_DatesVisionnage }
        {
        };
    ...
        boolean operator==(const SequenceVisionnage& rhs) const { return this == &rhs; };
    
    private:
        const Episode& m_episode;
       
    };

  2. #1042
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Bonsoir,

    https://github.com/laurentbouleau/Exemple : Décembre 14 (22/12/2024)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    boolean operator==(const SequenceVisionnage& rhs) const { return this == &rhs; };
    Ok !

    Maintenant :
    Nom : Capture d’écran 2024-12-22 221522.png
Affichages : 122
Taille : 20,8 Ko

    15/02/2024 : qsdfghjklm (1)
    1x: La phrase : verbre (148min) : 16/07/2021
    Marchouille !!!

    Merci

    Lundi : Marie-France et moi : Le Nouvion-en-Thiérache, Aisne : Repas !!!
    Retour : Jeudi !

  3. #1043
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    C'est vous qui avez "délibérément" supprimé l'affichage du numéro de l'épisode :

    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
    void SequenceVisionnage::Print(std::vector<std::wstring>&titres, int numero_sequence) const
    {
        std::wstring wstr;
        std::wstring chiffre_str{};
        std::wstring duree_str;
        static std::wstring ch;
        long chiffre = Print_Titre_chiffre(numero_sequence);
    
        if (numero_sequence == 1)
        {
            chiffre_str = std::to_wstring(m_episode.m_saison.m_numero) + m_keyColor[1] + L'x' + m_valuesColor + /*std::to_wstring(m_episode.m_numero) +*/ m_keyColor[1] + L" : " + m_valuesColor;
            ch = chiffre_str;
        }
    ...
    }

  4. #1044
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Bonjour,

    Bonne Noël

    https://github.com/laurentbouleau/Exemple : Décembre 15 (23/12/2024)

    Tant pis : prochain !
    Nom : Capture d’écran 2024-12-23 154929.png
Affichages : 114
Taille : 2,9 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void Saison::Print_Header()
    {
    ...
        std::wcout << saison_str << date_str << dossier_str << m_keyColor[1] + L" : " + m_valuesColor << titre_str << resume_str << numero_str << L"\r\n";
    }
    15/02/2024 : qsdfghjklm (1)
    1 ===> 4

    Merci beaucoup

  5. #1045
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Je ne comprends pas la "question".

    C'est un "1" parce que vous avez fait en sorte d'afficher le numéro de la saison.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Saison::Print_Header()
    {
    ...
        std::wstring numero_str = m_keyColor[1] + L" (" + m_valuesColor + std::to_wstring(m_numero) + m_keyColor[1] + L')' + m_valuesColor;
        std::wcout << saison_str << date_str << dossier_str << m_keyColor[1] + L" : " + m_valuesColor << titre_str << resume_str << numero_str << L"\r\n";
    }
    Il sort d'où ce "4" ???

  6. #1046
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Saison::Print_Header()
    {
    ...
        std::wstring numero_str = m_keyColor[1] + L" (" + m_valuesColor + std::to_wstring(???) + m_keyColor[1] + L')' + m_valuesColor;
        std::wcout << saison_str << date_str << dossier_str << m_keyColor[1] + L" : " + m_valuesColor << titre_str << resume_str << numero_str << L"\r\n";
    }
    et :
    15/02/2024 : qsdfghjklm (4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    void Episode::Print()
    {
        bool first = true;
        int numero_sequence = 1;
    
        for (const auto& sequence : m_liste_sequence_visionnages_ordonnee_chronologiquement)
        {
            sequence.Print(m_liste_sequence_visionnages_ordonnee_chronologiquement[0].m_titres, numero_sequence);
            first = false;
            numero_sequence++;
        }
        ??? = --numero_sequence;
    }
    Donc :
    numero_sequence = 4

    Peux être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct Saison
    {
    ...
        m_numero_chiffres{0};
    ...
    };
    Je suis crevé !!!

    Merci

  7. #1047
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Peu être : write.cpp ?

    https://github.com/laurentbouleau/Exemple : Décembre 16 (28/12/2024)

    Merci

  8. #1048
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Bonjour,

    https://github.com/laurentbouleau/Exemple : Décembre 17 (28/12/2024)

    Je suis crevé ! Mon chaton 10h du matin !!!

    Sinon !
    L"Azertyuiop £££.[2024].Mini-série"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto racine = racines[1];
    serie.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void Saison::initialiser_Resume(fs::path const& cheminFichier)
    {
        m_resume = lire_fichierTxt(cheminFichier.wstring(), { L"\n" });
        assert((m_resume.size() != 0));
        m_numero_chiffres = std::stoi(cheminFichier.filename().stem().wstring());
    }
    Serie.h
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct Saison
    {
    ...
        int m_numero_chiffres{ -1 };
     
    ...
    };
    Mais, exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto racine = racines[2];
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto racine = racines[4];
    Marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L"Kaleidoscope.[2023 Netflix]"
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    L"Dr. STONE.[2019-2022 Crunchyroll].Manga"
    Et :
    Nom : Capture d’écran 2024-12-28 142805.png
Affichages : 94
Taille : 3,9 Ko

    Merci

  9. #1049
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Bonsoir,

    https://github.com/laurentbouleau/Exemple : Décembre 18 (29/12/2024) : ok !

    Exemple.cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto racine = racines[4];
    et : Dr. STONE... : ok !

    Donc : serie.h
    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
    struct Saison
    {
    public:
        const Serie& m_serie;
        Saison(std::filesystem::path const& cheminFichier, const Serie& serie);
        //Saison(Saison&& src) noexcept : m_serie{ std::move(src.m_serie) }// the expression "arg.member" is lvalue
        Saison(Saison&& src) noexcept : m_serie{ src.m_serie }// the expression "arg.member" is lvalue
        {
            operator=(std::move(src));
        }
    ...
       //std::map<int, std::shared_ptr<Episode>> m_liste_episodes;
        std::vector<Episode>m_liste_episodes;
        int m_numero_chiffres { 0 };
        mutable int m_numero{ -1 };
    ...
    private:
        Saison& operator=(Saison&& src) noexcept
        {
            if (&src != this)
            {
                for (auto& ep : src.m_liste_episodes)
                {
                    m_liste_episodes.emplace_back(Episode{ *this, std::move(ep) });
                }
    ...
                m_numero_chiffres = std::move(src.m_numero_chiffres);
                m_numero = std::move(src.m_numero);
            }
            return *this;
        }
    };
    Ok ou pas ?

    Et :
    Saison 1 :
    05/07/2019 : ... (24)
    ...
    Saison 2 :
    14/01/2020 : ...(11)
    ...
    Hors saison :
    09/07/2022 : (0)
    ...
    Parfait !!!

    Après :
    Hors saison
    ...
    Saison 1 :
    ...
    Saison 2 :
    ...
    Voilà, enfin... ?!

  10. #1050
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    write.cpp
    C'est du code bas niveau, utilisé dans les bibliothèques fournies par M$.
    Vous devez utiliser ces fonctions, pas embarquer leur code source dans votre projet.
    C'est une fonction de bas niveau, pourquoi ne pas utiliser les API de haut niveau, comme "std::wcout" ou "wstring_convert<codecvt_utf8<wchar_t>, wchar_t>" ???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int m_numero_chiffres{ -1 };
    Le nom du champ n'est pas explicite.
    C'est quoi ce nombre ?
    Le nombre d'épisode dans une saison ?
    Alors appelez-le "m_nombre_episodes".
    Ne pas utiliser des champs qui font des "++" n'importent comment, c'est mieux.
    Mais je ne comprends toujours pas pourquoi c'est un fichier ".txt", dont le nom commence par un nombre différent de "0" mais pas par un motif "([[:digit:]]{1,2})x", qui doit contenir le résumé d'une Saison et que son nom donne le nombre d'épisode de la saison.
    Pourquoi il ne porte pas un nom comme "Saison.txt" et qui contient le nombre d'épisodes de la Saison en première ligne de son contenu, avant le résumé de la Saison ?

  11. #1051
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    https://github.com/laurentbouleau/Exemple : Décembre 19 (29/12/2024)

    Le nom du champ n'est pas explicite.
    C'est quoi ce nombre ?
    Le nombre d'épisode dans une saison ?
    Alors appelez-le "m_nombre_episodes".
    m_nombre_episodes : Ok !

    Ne pas utiliser des champs qui font des "++" n'importent comment, c'est mieux.
    Mais je ne comprends toujours pas pourquoi c'est un fichier ".txt", dont le nom commence par un nombre différent de "0" mais pas par un motif "([[:digit:]]{1,2})x", qui doit contenir le résumé d'une Saison et que son nom donne le nombre d'épisode de la saison.
    J'ai oublié !!! Mais : 11.txt ==> Saison.txt
    Exemple.txt : Saison.txt
    11
    blablabla
    Et :
    L"Azertyuiop - qsdfghjklm.[2021-2023 Netflix].Manga", ou L"Azertyuiop £££.[2024].Mini-série", ou L"Kaleidoscope.[2023 Netflix]", ou L"Seven Deadly Sins- Four Knights of the Apocalypse.[2023].Manga", ou L"Dr. STONE.[2019-2022 Crunchyroll].Manga", etc... par tous : Saison.txt ???


    Pourquoi il ne porte pas un nom comme "Saison.txt" et qui contient le nombre d'épisodes de la Saison en première ligne de son contenu, avant le résumé de la Saison ?
    Ben, oui : Comment faire et pas .h/.cpp mais Lex/YACC, ou ???
    Encore, j'ai oublié !!!

  12. #1052
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Je ne comprends pas comment fonctionne votre génération de fichier.
    Pourquoi un "11.txt" au lieu d'un simple "Saison.txt" ?

    Pas besoin de faire un truc compliqué avec "Lex/Yacc", la fonction "lire_fichierTxt" devrait largement déjà faire la majorité du boulot.

  13. #1053
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Ok ! Mais, un autre .h/.cpp et automatiquement​​​ des fichiers !

    Exemples :
    Nom : Capture d’écran 2024-12-29 211425.png
Affichages : 86
Taille : 34,2 Ko

    Avec exemples :
    1. -, +, ++, +++, ++++, +++++ : nuls (-), biens (+++), très biens (++++)...
    2. #, A, B... : tous
    3. L'affaire Asunta.[2024 Netflix].Mini-série, L'ancien combat.[2018], ... : Ok !
    4. La [], Le [], Les [] : les groupes : Le Bazar de la Charité.[2019], Le Livre de Boba Fett.[2021 Disney+].Mini-série, etc

    Voilà !!!

    Mais, attention : L'AVC après :

    Nom : Capture d’écran 2024-12-29 221611.png
Affichages : 86
Taille : 25,1 Ko

    ou :
    Nom : Capture d’écran 2024-12-29 222028.png
Affichages : 86
Taille : 66,9 Ko

    ou :
    Nom : Capture d’écran 2024-12-29 223359.png
Affichages : 83
Taille : 84,2 Ko

    Difficile de comprendre !!!

    Comme faire ?

    Merci beaucoup

  14. #1054
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Tout ceci me semble assez peu structuré :
    - Pourquoi "_Legend of Exorcisme.[].Manga" n'es pas dans les répertoires "-" ou "+" ou "++" ...
    - Pourquoi les séries commençant pas "Le", "La" ou "Les" sont traitées différemment des séries commençant par "L'" ou "Las" ?
    - Le format avec des [] ou des () semble changer au cours du temps
    - etc...
    Cela complexifie potentiellement beaucoup le code.
    Est-ce que ces dossiers et fichiers ont été "fabriqués à la main" ?
    Quel est votre objectif "final" ?

  15. #1055
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    Ok !

    Tout ceci me semble assez peu structuré :
    - Pourquoi "_Legend of Exorcisme.[].Manga" n'es pas dans les répertoires "-" ou "+" ou "++" ...
    - Pourquoi les séries commençant pas "Le", "La" ou "Les" sont traitées différemment des séries commençant par "L'" ou "Las" ?
    - Le format avec des [] ou des () semble changer au cours du temps
    - etc...
    Donc :
    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
    36
    37
    38
    39
    40
    const auto racine = L"e:\\Séries.[]\\";
    for()
    {
        if(nomDossier[0] == L'_') // "_Legend of Exorcisme.[].Manga" (Dossier)
            continue; // pas la peine !!!
        if(nomDossier == L"Blablabla.(ZZZZ)) // (Dossier)
            continue; // pas la peine !!!
        if(nomDossier == L"Blablabla.(ZZZZ)) // (Dossier)
            continue; // pas la peine !!!
        if(nomDossier == L"Blablabla.[AAAA])
        {
              recommencé avec for(); // ===> ./Dossier/
        }
        if(nomDossier == L"La []" || ... || L""St[] || ...) // (Dossier)
        {
             recommencé avec for(); // ===> ./Dossier/
        }
        if(nomDossier == L"-" || nomDossier == L"+" ... || L"+++++" || L"#" || L"A" ... L"Z")
        {
             recommencé avec for(); // ===> ./Dossier/
        }
        if(nomDossier == L"Abc.[XXXX /*-YYYY et/ou exemple Netflix*/]/*.Manga ou un autre*/)
        {
         // Ok !!!
         if(!Dossier)
         {
              // Star_Trek_Enterprise.(2001-2005) : 1x26.(2001).txt, 2x26.(2002).txt, ...
              break;
         }
         // 
         while(2024-01-02 ou 2024-01 ou 2024)
         {
             if(fichier = [:digit:].txt)
             {
                  // ok : maintenant
                  ... // ???
             }
        }
    }
    Cela complexifie potentiellement beaucoup le code.
    Ben oui !!!
    Est-ce que ces dossiers et fichiers ont été "fabriqués à la main" ?
    Oui !
    Quel est votre objectif "final" ?
    Peux être !!!

    Merci

  16. #1056
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    https://github.com/laurentbouleau/Exemple : Décembre 20 (30/12/2024)

  17. #1057
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Est-ce que ces dossiers et fichiers ont été "fabriqués à la main" ?
    Oui !
    Il serait peut-être plus simple de "corriger" ces dossiers et fichiers plutôt que de complexifier le programme, non ?

    Quel est votre objectif "final" ?
    Peux être !!!
    Peut être quoi ???

    Votre pseudo-code montre que vous avez du mal à simplifier le problème.

    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
    liste racines = {L"e:\\Séries.[]\\"};
    tant que racines n'est pas vide
    {
        racine = racines[0];
        Pour Tout sous-dossier de racine nommé "nomDossier" :
            if(nomDossier == L"Blablabla.[AAAA] || L"La []" || ... || L""St[] || L"-" || L"+" ... || L"+++++" || L"#" || L"A" ... L"Z"...)
            {
                  ajouter chemin de nomDossier dans "racines"
            }
            elseif(nomDossier == L"Abc.[XXXX /*-YYYY et/ou exemple Netflix*/]/*.Manga ou un autre*/)
            {
                 ....
            }
            else
    ....
        }
    
        enlever racines[0] de racines
    }
    Vous devez être capable d'expliquer en "Français" comment fonctionne votre système de classement.
    Normalement, si vous êtes capable de l'expliquer, vous devriez être capable d'implémenter le code qui va lire ces informations.
    Mais si ce système est complexe, pourquoi ne pas le simplifier ?

  18. #1058
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    https://github.com/laurentbouleau/Exemple : Décembre 21 (31/12/2024)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void Saison::initialiser_Saison(std::filesystem::path const& cheminFichier)
    {
        std::vector<std::wstring> saison = lire_fichierTxt(cheminFichier.wstring(), { L"\n" });
        assert((saison.size() != 0));
        m_nombre_episodes = std::stoi(saison[0]);
        assert((m_nombre_episodes == std::stoi(saison[0])));
        saison.erase(saison.begin());
        m_resume = saison;
        assert((m_resume.size() != 0));
    }

  19. #1059
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 616
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 616
    Par défaut
    Faites simple et clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void Saison::initialiser_Saison(std::filesystem::path const& cheminFichier)
    {
        std::vector<std::wstring> saison = lire_fichierTxt(cheminFichier.wstring(), { L"\n" });
        assert((saison.size() > 1));
     
        m_nombre_episodes = std::stoi(saison[0]);
        m_resume = std::vector<std::wstring>( std::next(saison.begin()), saison.end());
    }
    Et je suis pas sûr qu'un mauvais format de fichier est une erreur de programmation => donc plus un "throw" qu'un "assert".

  20. #1060
    Membre éclairé Avatar de Laurent_B_
    Homme Profil pro
    Ingénieur de déploiement réseaux
    Inscrit en
    Avril 2021
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur de déploiement réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 786
    Par défaut
    https://github.com/laurentbouleau/Exemple : Décembre 22 (31/12/2024)

    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
    void Saison::initialiser_Saison(std::filesystem::path const& cheminFichier)
    {
        std::vector<std::wstring> saison = lire_fichierTxt(cheminFichier.wstring(), { L"\n" });
        assert(saison.size() > 1);
        try
        {
            if(m_nombre_episodes == std::stoi(saison[0]))
                throw runtime_error("0 <= des chiffres !!!");
        }
        catch (const exception& e)
        {
            std::cerr << "Exception caught: " << e.what() << std::endl;
        }
        m_resume = std::vector<std::wstring>(std::next(saison.begin()), saison.end());
    }
    ???

    Bonne année 2025 après !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme avc la formclosing
    Par dv-2008 dans le forum VB.NET
    Réponses: 2
    Dernier message: 23/03/2008, 16h33
  2. probléme avc console.readline()
    Par dv-2008 dans le forum VB.NET
    Réponses: 7
    Dernier message: 10/03/2008, 00h33
  3. j'ai un probléme avc un code vb.net aider moi svp
    Par dv-2008 dans le forum VB.NET
    Réponses: 12
    Dernier message: 29/01/2008, 09h20
  4. Problème avc une requête
    Par Raiga dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/06/2007, 18h36
  5. Toujours problème de lien avce la lib Cblas
    Par Kirou dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 19/06/2007, 14h50

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