ouverture de fichier - C - Programmation
Marsh Posté le 02-12-2006 à 18:54:00
ben, oui je sais... c'est pour ça ue j'utilise des FILE* et non un fstream. Tu me dit ça au sujet de l'IDE ? pourtant j'ais fait des ".c" et donc visual m'interdit plein de truc du C++ comme les for(int i = 0...) : la déclaration du i dans le for => toutes les déclarations doivent être en début des fonctions. Je croit qu'il est conscient que je fait du C et non du C++
Marsh Posté le 02-12-2006 à 18:58:48
bah là visual il veut pas... Donc si je comprend bien, je continue comme avant et j'utilise fopen()
Marsh Posté le 02-12-2006 à 19:02:19
je connais pas visual, mais je trouve assez bizarre qu'il te dise ça, je vois pas trop dans quelle norme fopen a été déprécié, si ce n'est en C++ pour utiliser tout ce qu'il y a dans la stl.
(et j'ai été taquin, le for (int i=0..) tu peut en C99 mais pas en C ansi )
Marsh Posté le 02-12-2006 à 19:37:49
Salut,
MSVC 2005 déclare un joli paquet des fonctions standards comme dépréciées. Ce n'est pas au niveau de la norme que ça l'est donc (enfin, à ma connaissance, donc bon, c'est ptet faux ).
Il faut donc utiliser fopen_s ou plus génériquement _tfopen_s. Là, t'auras plus de warning, mais t'auras pas la moindre compat avec une ancienne version de VC et aucune compat' avec mingw pour le moment (là encore, c'est pas garanti, mais ça compilait pas chez un pote qui a mingw je.sais.pas.combien)
Marsh Posté le 02-12-2006 à 21:15:12
Ok, merci
je vais essayer ça. Après j'irais voir le problème de compatibilité. L'histoire c'est que j'en ais besoin pour mon projet d'algo (on doit trouver l'algo, puis on l'implémenter en C) et le truc, c'est que le jour où je le rend il doit être compilable avec gcc sous Linux. donc je testerais lundi sur un pc de l'école
merci de ta réponse !
Marsh Posté le 03-12-2006 à 03:38:53
Si le but est d'être compilable avec gcc sous linux, essaye de faire un environnement plutôt similaire sous windows ça réduira sûrement les problèmes et les mauvaises-surprises-juste-au-moment-de-rendre-le-projet. (par exemple en compilant avec gcc déjà, il me semble même que tu peut utiliser gcc directement sous Visual Studio si tu y tiens, mais je suppose que tu dois perdre en fonctionnalités de debug)
Marsh Posté le 03-12-2006 à 12:11:57
0x90 a écrit : C!=C++ |
Quel vélo ?
Visual studio fait du C ou du C++ (question de reglage et d'extension).
Par contre, en mode C, la nouvelle version de Visual Studio prétend, par défaut, défavoriser l'usage des fonctions du C standard (xxx() )au profit des siennes (xxx_s()) présumées plus fiables (s comme safe).
http://www.microsoft.com/france/ms [...] urity.mspx
C'est possible, est c'est faisable, tout en sachant qu'on perd en portabilité.
Cependant il existe une option qui permet de désactiver ce contrôle. Détails ici :
http://www.developpez.net/forums/forumdisplay.php?f=29
et qui permet donc d'écrire en C standard sans être assailli de milliers de warnings.
Marsh Posté le 02-12-2006 à 18:33:31
Bonjour,
bon j'ai un petit soucis : j'ai besoin d'ouvrir un fichier dans mon programme. Le truc c'est que je connais la méthode fopen() qui fait ça très bien. Mais en fait Visual studio me dit qu'elle est dépréciée. Aussi je cherche sur google, une autre méthode pour faire ça... et je ne trouve pas. Toutes les docs que je trouve n'utilisent que fopen()... Saurriez vous quel est la nouvelle fonction a utiliser ?
Merci