Bonjour
je suis en train de porter une petite appli C++ de linux sous windows 7 (je souhaiterais la faire compatible pour les 2)
Que mon fichier fasse 1 giga ou 500 j'ai un problème sur la fonction open en écriture
la ligne avec O_RDONLY|O_LARGEFILE fonctionne parfaitement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <unistd.h> #include <time.h> #include <string> #include <iostream> #include <string.h> #include <stdlib.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <set> #define O_LARGEFILE 0 ...... fd = open(filename.c_str(), O_RDONLY|O_LARGEFILE); ..... fd = open(filename.c_str(), O_RDWR|O_LARGEFILE); if (fd < 0) { ostringstream oss; oss << "! Unable to open the input file: " << filename << " for writing"; .....
mais pas celle avec O_RDWR|O_LARGEFILE et j'obtiens bien sûr le message codé "Unable to open the input file:..."
Je précise que c'est moi qui est ajouté la ligne
#define O_LARGEFILE 0
parce que je n'ai pas trouvé où cette constante pouvait être définie ailleurs.
Est-ce qu'elle peut être la cause du problème?
Si quelqu'un a une idée...
Merci
Partager