Bonjour, j'ai voulu utiliser la fonction strcpy dans mon programme mais l'erreur suivante apparaît toujours:
error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
Et lorsque je change mon strcpy par le strcpy_s sa ne fonctionne pas plus. qu'est-ce que je dois faire.
voici un bout de mon programme:
j'ai regarder sur le net et pourtant ma déclaration semble correcte pourquoi sa fonctionne pas??Code:DossierProfesseur::DossierProfesseur(char* FP) { char NomFichier[70]; int NbrLigne = 0, NbrEtudiant = 0, PasUnCours = 0; string Ligne; bool nomOk = false; const char*nom; const char*prenom; const char*cours; sprintf_s(NomFichier, "%c.txt", *FP); // Nom du Fichier system("Pause"); ifstream fichier(NomFichier, std::ifstream::in); // Ouverture du Fichier cout << endl << endl; tete = new Professeur(); Professeur *ProfTemp = tete; tete->listetudiants = new Etudiants(); Etudiants * EtudiantTemp = tete->listetudiants; tete->listecours = new Cours(); Cours *CoursTemp = tete->listecours; bool Premier = true; //Boucle de Leccture du Fichier while (getline(fichier, Ligne)) { //recherche d'un espace ou d'un chiffre dans la ligne if (Ligne.find(' ') == -1 && !any_of(Ligne.begin(), Ligne.end(), ::isdigit) && Ligne.find('&') == -1) //Si on ne trouve pas d'espace ni de chiffre on crée un nouveau professeur { //si ce n'est pas le premier prof if (!Premier) { ProfTemp->suivant = new Professeur(); ProfTemp = ProfTemp->suivant; ProfTemp->listecours = new Cours(); CoursTemp = ProfTemp->listecours; ProfTemp->listetudiants = new Etudiants(); EtudiantTemp = ProfTemp->listetudiants; } //Si c'est le premier prof //On vérifie qu'on a pas déja enregistré le nom du prof if (nomOk == false) { char*temp = new char(); strcpy(temp, Ligne.c_str()); ProfTemp->nom = temp; nomOk = true; } //Si on a déja enregistré le nom du Prof on passe a l'enregistrement du prénom else { char*temp = new char(); (temp, Ligne.c_str()); ProfTemp->prenom = temp; nomOk = false; Premier = false; } } //si on trouve un espace, cela veut dire que c'est un nom d'étudiant else if (Ligne.find(' ') != -1) { if (EtudiantTemp->nom != NULL) { EtudiantTemp->suivant = new Etudiants(); EtudiantTemp = EtudiantTemp->suivant; } char*temp = new char(); strcpy(temp, Ligne.c_str()); EtudiantTemp->nom = temp; } //Si on trouve un chiffre dans la ligne, cela veut dire que c'est un cours donc on crée un nouveau cours else if (any_of(Ligne.begin(), Ligne.end(), ::isdigit)) { if (CoursTemp->sigle != NULL) { CoursTemp->suivant = new Cours(); CoursTemp = CoursTemp->suivant; } char*temp = new char(); strcpy(temp, Ligne.c_str()); CoursTemp->sigle = temp; } //Si on trouve le signe & else if (Ligne.find('&') != -1) { //cout<< "on change de prof ou d'étudiant" } NbrLigne++; } free(ProfTemp); free(EtudiantTemp); free(CoursTemp); system("Pause"); //On ferme le fichier fichier.close(); };//Fin du Constructeur
-----