Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : problème avec strncpy [ Archives / Au secours ] (LiBe444)

jeudi 21 octobre 2004 à 21:49:55 | problème avec strncpy

LiBe444

Bonjour,

Voilà j'ai réexaminé mon problème concernant le champ ofn.lpstrFile et j'ai compris le problème :

Je commande strncpy(t,&ofn.lpstrFile[i],1); , avec t caractère et ofn.lpstrFile LPSTR.
t reçoit un premier caractère du champ ofn.lpstrFile, bien logiquement, par contre &ofn.lpstrFile RECOIT AUSSI QUELQUE CHOSE à l'indice 945.

Pourquoi donc?

Merci de votre réponse !

jeudi 21 octobre 2004 à 22:05:42 | Re : problème avec strncpy

djl

char *strncpy( char *dest, const char *src, size_t num );

t est un caractere ??

et oubli pas que strncpy n'ajoute pas de '\0'

jeudi 21 octobre 2004 à 22:27:08 | Re : problème avec strncpy

LiBe444


Oui t est bien un caractère

jeudi 21 octobre 2004 à 22:28:52 | Re : problème avec strncpy

LiBe444

Enfin non une chaîne d'un caractère...

jeudi 21 octobre 2004 à 22:31:25 | Re : problème avec strncpy

djl

&ofn.lpstrFile[i] est const donc montre plus de code, l'erreur est ailleur

et pense à faire plutot

t[0] = ofn.lpstrFile[i];

jeudi 21 octobre 2004 à 22:36:32 | Re : problème avec strncpy

LiBe444

bon voici le code bien dur, attention les yeux
int i=0,j=0;
path[0]='\0';

if(GetOpenFileName(&ofn))
{
hm=0;
char t[0];
t[0]='a';
while(t[0]!='\0')
{
strncpy(t,(char*)&ofn.lpstrFile[i],1);
strcat(path,t);
i++;
}
i=0;
while(strcmp((char*)&ofn.lpstrFile[i],"\0")!=0)
{
songs[j][0]='\0';
char t[0];
t[0]='a';
while(t[0]!='\0')
{
strncpy(t,(char*)&ofn.lpstrFile[i],1);
strcat(songs[j],t);
i++;
}
j++;
}


Il s'agit de transférer le contenu d'une liste de fichiers d'un openfilename dans un tableau songs[MAX_PATH][MAX_SONGS]

jeudi 21 octobre 2004 à 22:37:33 | Re : problème avec strncpy

LiBe444

t[0]=ofn.lpstrFile[i]; ne fonctionne pas

jeudi 21 octobre 2004 à 22:45:23 | Re : problème avec strncpy

djl

t[0]=ofn.lpstrFile[i]; ca fais la meme chose que ton strncpy

char t[0]; oui

while(strcmp((char*)&ofn.lpstrFile[i],"\0")!=0)

==> while( ofn.lpstrFile[i] )


tout est a revoir

ca te sort quoi openfilename ?

jeudi 21 octobre 2004 à 22:56:04 | Re : problème avec strncpy

LiBe444

En fait ça me donne un tableau de caractères formée de plusieurs chaînes en vrac séparées par des \0 !

Le hasard fait bien les choses, pas Microsauce.
(bon on ne cite pas des noms de sociétés dans les forums).

jeudi 21 octobre 2004 à 23:03:25 | Re : problème avec strncpy

djl

ofn.lpstrFile contient les chaines (terminées par 2 '\0' )

size_t i = 0;
char *p = ofn.lpstrFile;

while( *p )
{
strcpy( songs[i], p );
while( *p++ );
i++;
}

apres faudrais fairee un controle MAX_SONGS


1 2

Cette discussion est classé dans : problème, champ, ofn, strncpy, lpstrfile


Répondre à ce message

Sujets en rapport avec ce message

Problème de manipulation de fichier [ par Mastersam ] Bonjour j'ai un problème de manipulation de fichier, voilà ce que j'utilise:char nomdufichier[MAX_PATH];struct FILE *fileproject;             OPENFILE problème entre acces et visual C++ 6(MFC) [ par snowsurfer69 ] bonjour je suis en stage et je m'accupe d'un logiciel de gastion de base de données acces avec visual c++ 6.0 et je travaille en MFCen fait voila:je v problème avec strncpy [ par moloko2000 ] lorsque j'utilise strncpy je n'arrive pas à copier le nombre de caractères souhaitésPar exemple lorsque je fais strncpy(temp,tab_res[0].timeStamp,8);a vc++ OFN_ALLOWMULTISELECT CFileDialog [ par pichu ] je comprends pas ce que je doit faire avec m_ofn.lpstrFile dans l'extrait de la msdn quand je veux recuperer plusieurs chemins de fichiers :To allow t If problème [ par Hades53 ] J'ai un problème avec If :char*variable1;variable1 = "bonjour";if (variable1 == "bonjour") cout < Téléchargement ActiveX [ par gourouman ] Bonjour,Je voudrais savoir ce k'il fallait faire pour installer un activeX fait à partir de VC++ avec MFC Class Wizard, sur un pc Client par l'intermé Segmentation Fault avec Mysql API [ par BenjZ ] Salut à tous,J'ai un GROS et URGENT problème euh... existentielJe n'arrive pas à faire une simple appli pour me connecter à MYSQL depuis C++, sans qu' Problème avec les fichiers MIDI (IMPORTANT) [ par BENETTAIX ] Quelqu'un aurait t'il un code source ou des explications concernant la création de fichiers MIDI en C++ sous visual car j'ai un projet a faire pour mo Raccourci Clavier [ par lgrenon ] Salut,En fait, je travaille sous Borland C++ Builder et je cherche comment faire un raccourci clavier (Alt+A, par exemple). J'ai essayé par la méthode (MS VCpp) Problème de variables [ par YS1 ] J'ai créé une DLL C+PP que je souhaite utiliser dans un programe VB.La fonction principale de la DLL renvoie un certain nombre de variables, qui sont


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.