Affectation variable globale

Affectation variable globale - C++ - Programmation

Marsh Posté le 13-10-2002 à 21:58:25    

Bonsoir,
j'ai une variable globale char * NOMFIC que j'aimerai bien modifiée dans mon programme pour que l'utilisateur saisisse à la main le nom du fichier. Je sais, les variables globales c'est pas bien... mais est-ce qu'il existe une solution sachant que si j'essaye de l'affecter j'obtiens un segmentation fault.
 
J'ai essayé avec
NOMFIC = (char*) malloc (256*sizeof(char)); --> marche pas
strcpy ( NOMFIC, tampon); --> marche pas
NOMFIC = "monfic" --> marche... mais pas pratique puisque c'est déjà défini
NOMFIC = tampon --> marche pas, tampon étant un char*
 
Est-ce que c'est parce que on ne peut pas affecter les variables de cette zone, ou alors est-ce qu'il y a un moyen...
 
Merci d'avance

Reply

Marsh Posté le 13-10-2002 à 21:58:25   

Reply

Marsh Posté le 13-10-2002 à 22:08:38    

Code :
  1. #include <stdlib.h>
  2. #include <string.h>
  3. char *buffer;
  4. int main()
  5. {
  6.   buffer=(char*)malloc(256);
  7.   strcpy(buffer, "taisteu" );
  8.   free(buffer);
  9.   buffer="re-taisteu!";
  10.  
  11.   return 0;
  12. }


 
 

$gcc -Wall global.c
 
$gcc -ggdb -Wall global.c
 
$gdb a.out
GNU gdb 5.1.1
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
(gdb) run
Starting program: a.out
 
Program exited normally.
(gdb)


Message édité par Taz@PPC le 13-10-2002 à 22:09:27

---------------
du bon usage de rand [C] / [C++]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed