Se connecter / S'enregistrer
Votre question

C++ lecture de fichier

Tags :
  • Programmation
Dernière réponse : dans Programmation
20 Février 2010 23:34:22

salut voilà, j'ai un fichier txt que je voudrais (en c++) lire et recupérer les valeur dans une structure type:
struct inf2 {
float X, Y, Z ;
}info2[10000000];

le nobre data X,Y,Z se trouve juste après "point", c'est 40000
((asap-oriented point 40000)
(x
23.4589E-3
0
0
0
54.12E3
0
0
0
0
etc...40000 data
)
(y
78.458E-3
...etc..40000data
)
(z
48.569
.....40000data
)

quelqu'un sait comment je peux faire? merci

Autres pages sur : lecture fichier

a b L Programmation
22 Février 2010 19:45:57

Si c'est en C++, tu peux transformer ta structure en classe, surcharger les opérateurs de flux << et >> et utiliser la classe ifstream pour lire le fichier.
m
0
l
24 Février 2010 23:24:30

j'ai écrit ceci mais ca semble pas fonctionner, ca vient peut-être du char str[32];
  1. // txt.cpp : Defines the entry point for the console application.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <fstream>
  6. #include <iomanip>
  7. #include <iostream>
  8. #include <cstring>
  9. #include "stdio.h"
  10. #include "stdlib.h"
  11. #include <vector>
  12. #include<string.h>
  13. using namespace std;
  14. std::string;
  15.  
  16. int main()
  17. {
  18. int a,n;
  19. char str[32];
  20. float x, y, z, f;
  21.  
  22. FILE *f1 = fopen("c:\\donnees-lampe.prof", "r");
  23. fscanf(f1, "%s\n%s\n%f%s\n", str, str, n, str);
  24. printf("\nOut : %s%s%s\n%s\n%f%s\n", str, str, n, str);
  25. system("pause");
  26. fscanf(f1, "%s\n", str);
  27. if (f!=NULL) {
  28. fscanf(f1, "%s\n%s\n%f%s\n", str, str, n, str);
  29. printf("\nOut : %s\n%s\n%f%s\n", str, str, n, str);
  30. fscanf(f1, "%s\n", str);
  31. printf("\nOut : %s\n", str);
  32. for (a=0;a<n;a++){
  33. fscanf(f1, "%f\n", &x);
  34. printf("\nOut : %f", x);
  35. system("pause");
  36. }
  37. fscanf(f1, "%s\n", str);
  38. printf("\nOut : %s\n", str);
  39. fscanf(f1, "%s\n", str);
  40. printf("\nOut : %s\n", str);
  41. for (a=0;a<n;a++){
  42. fscanf(f1, "%f\n", &y);
  43. printf("\nOut : %f", y);
  44. system("pause");
  45. }
  46. printf("\nOut : %s\n", str);
  47. fscanf(f1, "%s\n", str);
  48. printf("\nOut : %s\n", str);
  49. fscanf(f1, "%s\n", str);
  50. for (a=0;a<n;a++){
  51. fscanf(f1, "%f\n", &z);
  52. printf("\nOut : %f", z);
  53. system("pause");
  54. }
  55. printf("\nOut : %s\n", str);
  56. fscanf(f1, "%s\n", str);
  57. printf("\nOut : %s\n", str);
  58. fscanf(f1, "%s\n", str);
  59. for (a=0;a<n;a++){
  60. fscanf(f1, "%f\n", &f);
  61. printf("\nOut : %f", f);
  62. system("pause");
  63. }
  64. printf("\nOut : %s\n", str);
  65. fscanf(f1, "%s\n", str);
  66. fclose(f1);
  67. }
  68. }
m
0
l
a b L Programmation
25 Février 2010 20:13:18

Déjà ça ce n'est que du C, mais passons. si ton fichier est binaire, il ne faut pas utiliser fscanf mais fread.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS