Le fragment de code suivant se termine par une exception lors de l'exécution de la fonction strncpy
:Exception lors de l'utilisation strncpy
#define MAX_FILENAME_LEN 127
typedef struct {
unsigned long nameLength;
char name[MAX_FILENAME_LEN + 1];
} filestructure;
char *fileName;
strncpy(fileName, filestructure->name, MAX_FILENAME_LEN);
*(fileName + MAX_FILENAME_LEN+1) = 0;
Ayone une idée de ce qui pourrait mal tourner? Dans la structure des fichiers, j'ai un nom de fichier qui est de 50 caractères, donc il est dans les limites ... Je suis vraiment un peu perdu ce qui pourrait causer le problème dans ce code simple ...
Utilisez std :: string sauf si vous avez vraiment une bonne raison. –
"Une exception"? Vous utilisez une fonction C et C n'a pas d'exceptions. Dans tous les cas, lorsque vous posez des questions sur les erreurs que vous rencontrez, il est parfois utile * de décrire l'erreur *. * Quelle * exception avez-vous eu? – jalf
@jalf: C'est probablement une exception au système d'exploitation, probablement une violation d'accès. – sbi