Salut,
J'ai testé le code suivant:
Code C/C++ :
#include <tchar.h>
#include <iostream>
#define MAXLINE 1024
int _tmain(int argc, _TCHAR* argv[])
{
char sLine[MAXLINE];
char sNum[10], sAttrib[32];
FILE *pFile, *pFileOut;
pFile = fopen("test.txt","r");
pFileOut = fopen("test2.txt","w");
if (pFile && pFileOut)
{
while (fgets(sLine, MAXLINE, pFile))
{
strncpy(sNum, sLine, 5);
sNum[5] = '\0';
strncpy(sAttrib, &sLine[5], 6);
sAttrib[6] = '\0';
if (strcmp(sAttrib, "000000") != 0)
fprintf(pFileOut, "%s%s\n", sNum,
sAttrib);
}
fclose(pFile);
fclose(pFileOut);
}
return 0;
}
Après la compilation, j'ai le message suivant portant les 4 warrings :
1>------ Début de la génération : Projet : amani, Configuration :
Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\amani\amani\main.cpp(11) : warning C4996: 'fopen': This function
or variable may be unsafe. Consider using fopen_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include
\stdio.h(237) : voir la déclaration de 'fopen'
1>c:\amani\amani\main.cpp(12) : warning C4996: 'fopen': This function
or variable may be unsafe. Consider using fopen_s instead. To disable
deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 9.0\vc\include
\stdio.h(237) : voir la déclaration de 'fopen'
1>c:\amani\amani\main.cpp(17) : warning C4996: 'strncpy': This
function or variable may be unsafe. Consider using strncpy_s instead.
To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help
for details.
1> c:\program files\microsoft visual studio 9.0\vc\include
\string.h(157) : voir la déclaration de 'strncpy'
1>c:\amani\amani\main.cpp(19) : warning C4996: 'strncpy': This
function or variable may be unsafe. Consider using strncpy_s instead.
To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help
for details.
1> c:\program files\microsoft visual studio 9.0\vc\include
\string.h(157) : voir la déclaration de 'strncpy'
1>Édition des liens en cours...
1>Incorporation du manifeste en cours...
1>Le journal de génération a été enregistré à l'emplacement "file://c:
\amani\amani\Debug\BuildLog.htm"
1>amani - 0 erreur(s), 4 avertissement(s)
========== Génération : 1 a réussi, 0 a échoué, 0 mis à jour, 0 a été
ignoré ==========
- Comment résoudre ces warings ?
- J'ai remarqué que la libraire "iostream.h" n'existe pas dans les fichiers include de Visual studio 2008 sous windows.
Je ne sais pas quelle librairie qui va remplacer la libraire standard "iostream.h" ?
- Quelle est la différence entre main et _tmain ?
- Quelle est la différence entre strncpy() et strcpy() ?
- Quelle est la différence entre char et -TCHAR ?
-Quelle est le rôle du _TCHAR et tchar.h ?
Merci.