probleme d'edition de lein en vc++

probleme d'edition de lein en vc++ - C++ - Programmation

Marsh Posté le 29-05-2005 à 12:53:35    

:jap: Bonjour tout le monde je suis débutante en vc++, j'ai commencer par taper ce code dans le programme principale cpp
#include "stdafx.h"
#include "descriptor.h"
#include <afx.h>
 
#include<iostream.h>
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
#include<Assert.h>
 
 
int main(int argc, char* argv[])
{
 
 
    char fich[20];
   int dim;
 descriptor vect;
   
 cout<<"entre la dimension du descripteur: "<<endl;
 cin>>dim;
 
 cout<<"entre le nom du fichier: "<<endl;
 cin.getline (fich,20);
 vect.CreerFile(fich,dim);
 //vect.Add(fich,pf,dim);
 
 
 return 0;
}
/////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
descriptor::descriptor(){}
 
descriptor::~descriptor(){}
 
//=======================definition des opérations======================
void descriptor::CreerFile( char *MyFich, int dim)
 
{        
   CFile pf;
   int t=0;
      DimVect=dim;
 
       srand( (unsigned)time( NULL ) );
     
    if(!pf.Open(MyFich,CFile::modeCreate |CFile::modeWrite))  
   {
    cout<<"erreu d'ouverture!"<<endl;
   }
 
       else  
    {   float *Data=new float[DimVect];
     cout<<"votre fichier est ouvert pour l'ecriture"<<endl;
     for (int i=0;i<DimVect;i++)  
   {  
         Data[i]=float(rand());
          t=sizeof(Data[i]-1);
          pf.Write(&Data[i],sizeof(t));
   }
  }
    pf.Close();
     
}
 :bounce: cela tous en déclarant un fichier d'en tete comme suit:
#if !defined(AFX_DESCRIPTOR_H__238E87FF_AB93_4162_AAB1_D6082FE00DAF__INCLUDED_)
#define AFX_DESCRIPTOR_H__238E87FF_AB93_4162_AAB1_D6082FE00DAF__INCLUDED_
 
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <stdio.h>
#include <afx.h>
class descriptor  
{
 public :
  int DimVect;
  float *Data;
public:
 descriptor();
 virtual ~descriptor();
 
 
 
 
void CreerFile( char *MyFich, int dim);
//void Add( char *MyFich,CFile pf,int dim);
};  
 
 
#endif
 :??: probleme: pas d'erreur de compilation et un probleme au niveau de l'edition de lien
le message d'erreur est le suivant:
Linking...
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __endthreadex
nafxcwd.lib(thrdcore.obj) : error LNK2001: unresolved external symbol __beginthreadex
Debug/descriptor.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.
 
descriptor.exe - 3 error(s), 0 warning(s)

Reply

Marsh Posté le 29-05-2005 à 12:53:35   

Reply

Marsh Posté le 29-05-2005 à 20:13:18    

salut bon je pense que tu peut virer le int main(.....) et le remplacer par un void main()
ensuite tu peux enlever le return 0
je sais pas si ca va arranger ton prob mais c'est toujours ca


---------------
debian sib sur asus a6va peut etre prochainement un freebsd
Reply

Marsh Posté le 30-05-2005 à 00:22:36    

:non: ca ne répond toujours pas au problème , je pense que c'est un problème d'allocation de la mémoire. :o

Reply

Marsh Posté le 30-05-2005 à 06:57:35    

Reply

Marsh Posté le 30-05-2005 à 15:41:20    

moi j'ai jamais dit que ca arrangerai le probleme c'est juste que c'est un void main() qu'il faut faire


---------------
debian sib sur asus a6va peut etre prochainement un freebsd
Reply

Marsh Posté le 30-05-2005 à 16:01:33    

dreamkiller a écrit :

c'est un void main() qu'il faut faire


 
depuis quand ?

Reply

Marsh Posté le 30-05-2005 à 16:15:28    

Code :
  1. #include "stdafx.h"
  2. #include "descriptor.h"
  3. #include <afx.h>
  4. // PAS de .h apres un header C++, cf la norme
  5. #include<iostream>
  6. #include<stdio.h>
  7. #include<time.h>
  8. #include<string>
  9. #include<stdlib.h>
  10. #include<Assert.h>
  11. int main(int argc, char* argv[])
  12. {
  13. char fich[20];
  14. int dim;
  15. descriptor vect;
  16. // Aere un peu ton code, met des espaces...
  17. cout << "entre la dimension du descripteur: " << endl;
  18. cin >> dim;
  19. cout << "entre le nom du fichier: " << endl;
  20. cin.getline (fich,20);
  21. vect.CreerFile(fich,dim);
  22. //vect.Add(fich,pf,dim);
  23. return 0;
  24. }
  25. /////////////////////////////////////////////////////////////////////
  26. // Construction/Destruction
  27. //////////////////////////////////////////////////////////////////////
  28. descriptor::descriptor(){}
  29. descriptor::~descriptor(){}
  30. //=======================definition des opérations======================
  31. void descriptor::CreerFile( char *MyFich, int dim)
  32. {       
  33.    CFile pf;
  34.    int t=0;
  35.    DimVect=dim;
  36.    srand( (unsigned)time( NULL ) );
  37.    
  38.    if (!pf.Open(MyFich,CFile::modeCreate |CFile::modeWrite)) 
  39.    {
  40.     cout << "erreu d'ouverture!" << endl;
  41.    }
  42.    else 
  43.    { 
  44.      float *Data=new float[DimVect];
  45.      cout<<"votre fichier est ouvert pour l'ecriture"<<endl;
  46.      for (int i=0;i<DimVect;i++) 
  47.      { 
  48.         Data[i]=float(rand());
  49.         t=sizeof(Data[i]-1);
  50.         pf.Write(&Data[i],sizeof(t));
  51.      }
  52.    }
  53.    pf.Close();
  54. }


 
Un peu plus de rigeur est necessaire dans la redaction du code.
 
En ce qui concerne ton probleme, essaye d'enlever les includes genre afk, car d'apres les erreurs du linker, ca viendrais de la... surtout que je vois pas ce que viennent foutre les threads dans cette histoire :)


Message édité par deather2 le 30-05-2005 à 16:15:44
Reply

Marsh Posté le 30-05-2005 à 21:04:18    

:wahoo: j'ai  apprécié votre remarque à propos de la rédaction du code,la les includes me posent un probléme à chaque fois que je ferme le programme,je me retrouve uniquement avec le cpp les entetes sont parties quelque part ,je reprogramme à chaque fois les entetes et malgré ca ,le systéme me sort un message d'erreur disant qu'il ne peut utiliser les bibliothéques .
Merci pour votre participation

Reply

Marsh Posté le 30-05-2005 à 23:37:52    

Probleme d'iostream surement:
http://c.developpez.com/faq/cpp/?p [...] L_iostream


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 31-05-2005 à 01:59:10    

 :bounce:  youuuuuuuuupi ca maraaaaaaaaaaaaaaaaaaarche merci beaucoup.

Reply

Sujets relatifs:

Leave a Replay

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