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. #21
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    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
    int wmain(int argc, wchar_t* argv[])
    {
            _wsetlocale(LC_ALL, L"fr");
            wstring t = L"Avatar.txt";
            FILE* fichier;
            wchar_t const* t_ = t.c_str();
            wcout << L"t_=" << t_ << endl;
    	wstring Titre_1 = L"";
     
    	 wchar_t phrase[CINEMA];
    	wcout << L"ddddddddd" << endl;
    	if (_wfopen_s(&fichier, t_, L"r") == 0)
    	{
    		wcout << L"ok" << endl;
    		if (fgetws(phrase, CINEMA, fichier) == NULL)
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    	}
    	fclose(fichier);
    	return 0;
    }
    ???

  2. #22
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Nom : Capture d’écran 2021-05-17 182426.png
Affichages : 423
Taille : 34,4 Ko

    ???

  3. #23
    Membre chevronné Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 043
    Points : 2 234
    Points
    2 234
    Par défaut
    Ce ne sont pas des erreurs mais des avertissements. Ça n'empêche pas ton code de fonctionner, le compilateur te dit juste que ton pointeur fichier peut être NULL (0). Pour enlever ces warnings tu dois tester si ton pointeur file n'est pas null avant d'appeler fgetws etc....
    Homer J. Simpson


  4. #24
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Bonjour,

    Oui, ce ne sont que des avertissements.
    Pour celui sur fgetws(), il y va un peut fort en te reprochant de ne pas t'assurer que fichier n'est pas nul. Le fait que la fonction _wfopen_s() a réussi est pourtant suffisant pour garantir ceci.
    Pour celui sur fclose(), il n'a pas tord. Tu pourrais fermer un fichier qui n'aurait pas été ouvert. Il faut mettre l'appel à fclose() juste avant à la dernière ligne du bloc. Mais il risque de continuer à te signaler un problème potentiel à tord. La solution pour lui faire plaisir serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	if ( _wfopen_s( &fichier, t_, L"r" ) == 0  &&  fichier != nullptr ) // avec un test supplémentaire inutile
    	{
    		wcout << L"ok" << endl;
    		if ( fgetws( phrase, CINEMA, fichier ) == nullptr )
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    		fclose( fichier );
    	}
    	return  0;
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	if ( _wfopen_s( &fichier, t_, L"r" ) == 0 )
    	{
    		assert( fichier != nullptr  &&  "je suis sur que fichier est valide ici" ); // ne produira pas de code en version release
    		wcout << L"ok" << endl;
    		if ( fgetws( phrase, CINEMA, fichier ) == nullptr )
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    		fclose( fichier );
    	}
    	return  0;

  5. #25
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    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
    int Cinema::afficher_Titre_1(wstring t)
    { // Titre_1
    	if (Titre_1_ == 1)
    		return 0;
    	if (t == L"")
    		return 0;
    	if (Titre == t)
    	{
    		t = t + (L".txt");
    	}
    	else if (t == Titre + L" - " + Sous_Titre)
    	{
    		t = t + L" - " + Sous_Titre + L".txt";
    	}
    	else
    	{
    		wcout << L"Titre et/ou Sous Titre : érreur !" << endl;
    		return -1;
    	}
    	FILE* fichier;
    	wchar_t const* t_ = t.c_str();
    	wchar_t phrase[CINEMA];
    	wcout << L"ddddddddd" << endl;
    	if(_wfopen_s(&fichier, t_, L"r") == 0)
    	{
    		wcout << L"ok" << endl;
    		if (fgetws(phrase, CINEMA, fichier) == NULL)
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    		fclose(fichier);
    		wcout << L"hhhhhhhhh" << endl;
    	}
    #if Cinema_afficher_Titre_1_ == 1
    	wcout << L"t=[" << Titre_1 << L"]" << endl;
    #endif
    	Titre_1_ = 1;
    	return 0;
    }
    Mais... non !!!

    Nom : Capture d’écran 2021-05-17 230843.png
Affichages : 422
Taille : 130,2 Ko

    ???

  6. #26
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Tant pis (fgetws et fclose)

    Mais :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    int Cinema::afficher_Date(wstring d)
    { // Date
    	if (d == L"")
    	{
    		wcout << L"date=[]" << endl;
    		return 1;
    	}
    	tm D;
    	wstring d_;
    	basic_string <wchar_t>::size_type pos = d.length();
    	int i = 0;
    	if (pos == 10)
    	{
    		goto stop;
    	}
    	else if (pos == 28)
    	{
    		d_ = d.substr(0, 18);
    		if (d_ == L"Date de reprise - ")
    		{
    			d = d.substr(18);
    			i = 1;
    			goto stop;
    		}
    		return 1;
    	}
    	else if (pos == 27)
    	{
    		d_ = d.substr(0, 17);
    		if (d_ == L"Date de sortie - ")
    		{
    			d = d.substr(17);
    			i = 2;
    			goto stop;
    		}
    		return 1;
    	}
    	return 1;
    stop:	//nYear, nMonth, nJour, nheure, nMin, nSec
    	int year = 0, mon = 0, mday = 0;
    	pos = 0;
    	if (
    		(d[0] == L'1' || d[0] == L'2' || d[0] == L'3' ) &&
    		(d[1] == L'0' || d[1] == L'1' || d[1] == L'2' || d[1] == L'3' || d[1] == L'4' || d[1] == L'5' || d[1] == L'5' || d[1] == L'6' || d[1] == L'7' || d[1] == L'8' || d[1] == L'9') &&
    		(d[2] == L'0' || d[2] == L'1' || d[2] == L'2' || d[2] == L'3' || d[2] == L'4' || d[2] == L'5' || d[2] == L'5' || d[2] == L'6' || d[2] == L'7' || d[2] == L'8' || d[2] == L'9') &&
    		(d[3] == L'0' || d[3] == L'1' || d[3] == L'2' || d[3] == L'3' || d[3] == L'4' || d[3] == L'5' || d[3] == L'5' || d[3] == L'6' || d[3] == L'7' || d[3] == L'8' || d[3] == L'9')
    		)
    	{
    		d_ = d.substr(0, 4);
    		year = stoi(d, &pos);
    		if (year <= 1900 || year >= 3001)
    		{ // Erreur
    #if Cinema_afficher_Date_ == 1
    			wcout << L"year=" << year << endl;
    #endif
    			return 1;
    		}
    	}
    	else
    	{
    #if Cinema_afficher_Date_ == 1
    		wcout << L"year=???" << endl;
    #endif
    		return 1;
    	}
    	pos = d.find(L"-", 4);
    	if (pos == wstring::npos)
    	{
    #if Cinema_afficher_Date_ == 1
    		wcout << L"year=" << year << endl;
    #endif
    		return 1;
    	}
    	d_ = d.substr(5, 2);
    	mon = stoi(d_, &pos);
    	if ( mon <= 0 || mon >= 13)
    	{ // Erreur
    #if Cinema_afficher_Date_ == 1
    		wcout << L"mon=" << mon << endl;
    #endif
    		return 1;
    	}
    	if (pos == wstring::npos)
    	{
    		return 0;
    	}
    	d_ = d.substr(8, 2);
    	mday = stoi(d_, &pos);
    	if (mday <= 0 || mday >= 32)
    	{ // Erreur
    #if Cinema_afficher_Date_ == 1
    		wcout << L"mday=" << mday << endl;
    #endif
    		return 1;
    	}
    	D.tm_year = year - 1900;
    	D.tm_mon = mon - 1;
    	D.tm_mday = mday;
    	if (i == 0)
    	{
    		Date = D;
    		Date_ = 1;
    		wcout << L"iiiiiiiii" << endl;
    	}
    	else if (i == 1)
    	{
    		Date_de_reprise = D;
    		Date_de_reprise_ = 1;
    	}
    	else if (i == 2)
    	{
    		Date_de_sortie = D;
    		Date_de_sortie_ = 1;
    	}
    	else
    		return 1;
    	return 0;
    }
    Oui ou non ?

    Et this ?

  7. #27
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Ici :

    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
    int wmain(int argc, wchar_t* argv[])
    {
        _wsetlocale(LC_ALL, L"fr");
        wstring t = L"d:\\Films\\+++++\\A\\Avatar.(2009-12-16)\\Avatar.txt";
        FILE* fichier;
        wchar_t const* t_ = t.c_str();
        wcout << L"t_=" << t_ << endl;
        wstring Titre_1 = L"";
        wchar_t phrase[2048];
        wcout << L"ddddddddd" << endl;
        if (_wfopen_s(&fichier, t_, L"r") == 0)
        {
            wcout << L"ok" << endl;
    	fgetws(phrase, CINEMA, fichier);
    	Titre_1 = phrase;
    	fclose(fichier);
        }
        wcout << L"Titre_1=" << Titre_1 << endl;
        return 0;
    }
    Nom : Capture d’écran 2021-05-22 152129.png
Affichages : 345
Taille : 47,0 Ko
    Erreur ou warning C6387
    Explication détaillée

    https://docs.microsoft.com/fr-fr/cpp...&view=msvc-160

  8. #28
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Depuis son AVC, mon frère a oublié les codes C/C++ pour voir les films et les séries car il est abonné à Netflix ! Merci pour l'aide que vous pouvez lui apporter.

  9. #29
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par Astraya Voir le message
    Ce ne sont pas des erreurs mais des avertissements. Ça n'empêche pas ton code de fonctionner, le compilateur te dit juste que ton pointeur fichier peut être NULL (0). Pour enlever ces warnings tu dois tester si ton pointeur file n'est pas null avant d'appeler fgetws etc....
    Citation Envoyé par dalfab Voir le message
    Bonjour,

    Oui, ce ne sont que des avertissements.
    Pour celui sur fgetws(), il y va un peut fort en te reprochant de ne pas t'assurer que fichier n'est pas nul. Le fait que la fonction _wfopen_s() a réussi est pourtant suffisant pour garantir ceci.
    Pour celui sur fclose(), il n'a pas tord. Tu pourrais fermer un fichier qui n'aurait pas été ouvert. Il faut mettre l'appel à fclose() juste avant à la dernière ligne du bloc. Mais il risque de continuer à te signaler un problème potentiel à tord. La solution pour lui faire plaisir serait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	if ( _wfopen_s( &fichier, t_, L"r" ) == 0  &&  fichier != nullptr ) // avec un test supplémentaire inutile
    	{
    		wcout << L"ok" << endl;
    		if ( fgetws( phrase, CINEMA, fichier ) == nullptr )
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    		fclose( fichier );
    	}
    	return  0;
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	if ( _wfopen_s( &fichier, t_, L"r" ) == 0 )
    	{
    		assert( fichier != nullptr  &&  "je suis sur que fichier est valide ici" ); // ne produira pas de code en version release
    		wcout << L"ok" << endl;
    		if ( fgetws( phrase, CINEMA, fichier ) == nullptr )
    			wcout << L"fgetws error\numChars" << endl;
    		else
    			Titre_1 = phrase;
    		fclose( fichier );
    	}
    	return  0;

  10. #30
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Nom : Capture d’écran 2021-05-25 230715.png
Affichages : 316
Taille : 3,0 Ko
    Oui ou non
    Merci beaucoup

  11. #31
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Oui
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #32
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Bonjour

    Nom : Capture d’écran 2021-05-26 164400.png
Affichages : 300
Taille : 52,7 Ko
    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
    #include "Header.h"
     
    #include <string>
    #include <iostream>
    #include <sstream>
    #include <filesystem> // C++17 standard header file name
    #include <experimental/filesystem> // Header file for pre-standard implementation
     
    int wmain(int argc, wchar_t* argv[])
    {
        _wsetlocale(LC_ALL, L"fr");
        wstring t = L"d:\\Films\\+++++\\A\\Avatar.(2009-12-16)\\Avatar.txt";
        FILE* fichier;
        wchar_t const* t_ = t.c_str();
        wcout << L"t_=[" << t_ << L"]" << endl;
        wstring Titre_1 = L"";
        wchar_t phrase[2048];
        if (_wfopen_s(&fichier, t_, L"r") == 0 && fichier != nullptr)
        {
        wcout << L"ok" << endl;
        if(fgetws(phrase, CINEMA, fichier) == nullptr)
            wcout << L"fgetws error\numChars" << endl;
        else
            Titre_1 = phrase;
        fclose(fichier);
        }
        wcout << L"Titre_1=[" << Titre_1 << L"]" << endl;
        return 0;
    }
    Ou es t'il (if (_wfopen_s(&fichier, t_, L"r") == 0 && fichier != nullptr))

    Nom : Capture d’écran 2021-05-26 144506.png
Affichages : 307
Taille : 13,2 Ko
    et, 83

    Nom : Capture d’écran 2021-05-26 201501.png
Affichages : 282
Taille : 6,2 Ko


    Merci beaucoup

  13. #33
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0

  14. #34
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Ici :

    Nom : Capture d’écran 2021-05-31 204720.png
Affichages : 237
Taille : 48,4 Ko

    Je suis aphasique J'ai oublié



    Merci beaucoup

  15. #35
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Ici :

    Nom : Capture d’écran 2021-06-01 130334.png
Affichages : 221
Taille : 18,0 Ko
    Pas de 'MSCOREE.lib'



    Merci beaucoup

  16. #36
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Ok : "Developpement .NET Desktop"

    Merci beaucoup : Bousk, koala01, Astraya et dalfab

  17. #37
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je sais que c'est compliqué pour toi, mais ce sont 2 trucs trouvables sur Internet assez rapidement

    • Pour la recherche en 2 phases, le compilateur te dit que tu ne peux pas l'activer. Donc bon, tu ne peux rien faire que de le désactiver. En gros, si j'ai bien compris , en 1 phase c'est la recherche classique avec le symbole (fonction, variable, structure, ...) qui doit être déclaré avant son utilisation. En 2 phases, la déclaration peut arriver avant ou après son utilisation (en gros le compilation fait 2 parcours pour regrouper toutes les déclarations et ensuite compiler en choisissant la définition la + appropriée)
    • Pour le problème "MSCOREE.lib" c'est ta version de la bibliothèque Windows 10 SDK qui est boguée. Il faut mettre à jour/ changer cette bibliothèque.

  18. #38
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Ok ! Merci ;-)

    Ici :

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    int Dd()
    {
        //wstring d = L"d:\\Films\\Azertyuiop.(2021-06-02 VOD).Manga\\De - Sun-hee Jo.txt";
        wstring d = L"d:\\Azertyuiop.txt";
        wcout << L"(" << d << L')' << endl;
        wchar_t const* d_ = d.c_str();
        wcout << L"d_=(" << d_ << L')' << endl;
        FILE* fichier;// = NULL;
        wstring de = L"";
        wstring De[_X_];
        if (_wfopen_s(&fichier, d_, L"r") == 0 && fichier != nullptr)
        {
            wchar_t phrase[CINEMA];
            wcout << L"ok" << endl;
            //assert(fichier != nullptr_t && "je suis sur que fichier est valide ici"); // ne produira pas de code en version release
            if (fgetws(phrase, CINEMA, fichier) == nullptr)
                wcout << L"fgetws error\numChars" << endl;
            else
                de = phrase;
            fclose(fichier);
        }
        else
        {
            wcout << L"De : érreur !!! (" << d << L')' << endl;
            return 1;
        }
        if (de != L"")
            d = (wstring)de;
        basic_string <wchar_t>::size_type pos;
        pos = d.length();
        d = d.substr(0, pos - 4);
        pos = d.find(L"De - ");
        if (pos == 0)
        {
            d = d.substr(pos + 5);
        }
        d = d + L", ";
        int i = 0;
        while (pos = d.find(L", "))
        {
            if (d[0] != d.length())
            {
                De[i] = d.substr(0, pos);
                d = d.substr(pos + 2);
                i++;
            }
            else
            {
                break;
            }
        }
    #if Cinema_afficher_De_ == 1
        wcout << L"afficher_De()" << endl;
    #endif
        //De_ = 1;
        //De_i = i;
        return 0;
    }
    L'opération de regénération a démarré...
    1>------ Début de la regénération globale : Projet : You, Configuration : Release x64 ------
    1>pch.cpp
    1>cinema.cpp
    1>series.cpp
    1>Source.cpp
    1>You.cpp
    1>you_txt.cpp
    1>Analyse du code en cours pour C/C++...
    1>Génération de code en cours...
    1>You.vcxproj -> D:\Work\Prg\CPP\You\x64\Release\You.exe
    ========== Regénération globale : 1 a réussi, 0 a échoué, 0 a été ignoré ==========
    D:\Work\Prg\CPP\You\x64\Release\you -d
    (d:\Azertyuiop.txt)
    d_=(d:\Azertyuiop.txt)
    De : érreur !!! (d:\Azertyuiop.txt)

    Ok !
    Que faire

  19. #39
    Nouveau Candidat au Club Avatar de Laurent_B_
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2021
    Messages
    386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Avril 2021
    Messages : 386
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    Windows 10 -> Paramètres -> Options d'ergonomie -> Narrateur -> Utiliser le Narrateur : Ok !

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    const int Cinema::afficher_Titre_1(wstring t, wstring _T)
    { // Titre_1
    	if (Titre_1_ == 1)
    		return 0;
    	wchar_t const* t_ = _T.c_str();
    #if Cinema_afficher_Titre_1_ == 1
    	wcout << L"t_=[" << t_ << L"]" << endl;
    #endif
    	FILE* fichier = NULL;
    	if ((fichier = _wfopen(t_, L"r")) == NULL) // C4996
    	{ // Note: fopen is deprecated; consider using fopen_s instead
    		wcerr << L"Le fichier '" << t_ << "' n'a pas été ouvert !\n" << endl;
    		return 0;
    	}
    	wchar_t phrase[100];
    	Titre_1 = L"";
    	while (!feof(fichier))
    	{
    		if (fgetws(phrase, 100, fichier) == NULL)
    		{
    			fclose(fichier);
    			return 0;
    		}
    		else
    			Titre_1 = Titre_1 + phrase;
    	}
    	fclose(fichier);
    	if (Titre_1 != L"")
    	{
    		if (Titre_1[0] == L'[')
    		{
    			basic_string <wchar_t>::size_type pos;
    			pos = Titre_1.find(L"]");
    			if (pos == wstring::npos)
    			{
    #if Cinema_afficher_Titre_1_ == 1
    				wcout << L"Titre_1=[" << Titre_1 << L"] érreur !!!" << endl;
    #endif
    				return 1;
    			}
    			else
    			{
    				wstring t;
    				t = Titre_1.substr(1, pos - 1);
    				basic_string <wchar_t>::size_type i = afficher_Titre(t);
    				Titre_1 = Titre_1.substr(pos + 1);
    			}
    		}
    	}
    	else
    	    return 0;
    #if Cinema_afficher_Titre_1_ == 1
    	wcout << L"t=[" << Titre_1 << L"]" << endl;
    #endif
    	Titre_1_ = 1;
    	return 0;
    }
    fgetws wstring -> u8 : comment faire ?

    Merci

  20. #40
    Expert éminent
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 565
    Points : 7 648
    Points
    7 648
    Par défaut
    Citation Envoyé par Laurent_B_ Voir le message
    fgetws wstring -> u8 : comment faire ?
    Il y a un point d'interrogation, ça serait donc une question.
    Mais une succession de mots n'est pas une question! Peut-être as-tu un problème de conversion std::wstring en std::u8string. Mais quel rapport avec ton code?
    Ne te sens-tu pas seul sur ce thread? On ne peut pas te répondre si tu ne poses pas de questions précises.
    Je t'en pose une autre, ton nouveau code a ôté _wfopen_s() qui marchait pour la remplacer par wfopen() qui est notée interdite par Visual C++, pourquoi? On t'a aussi recommandé d'utiliser les objets du C++ plutôt que les fonctions du C, c'est complexe d'utiliser 2 langages à la fois, pourquoi ne pas essayer de faire simple?
    C'est quoi Titre_1 ? Lignes 3 et 55 ça semble être un nombre. Dans les autres lignes ça semble être une std::wstring.

    J'ai essayé de poser des questions complètes et précises.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 31 PremièrePremière 12345612 ... DernièreDernière

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