Bonjour,
que pensez-vous de ceci:j'ai trouvé ça dans cette page:https://cplusplus.com/reference/istream/istream/seekg/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char * buffer = new char [length]; /code/ delete[] buffer;
Bonjour,
que pensez-vous de ceci:j'ai trouvé ça dans cette page:https://cplusplus.com/reference/istream/istream/seekg/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char * buffer = new char [length]; /code/ delete[] buffer;
C'était très bien y'a 40 ans, depuis on a inventé std::vector.
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Bonjour,
C'est une utilisation d'un autre temps. Exemple:
Et bing, tu as une fuite mémoire!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char* buffer = new char[length]; double d = std::stod( "hello" ); // => exception et le delete n'est jamais fait! delete[] buffer;
Il a plein d'autres manières possible par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 std::vector<char> buffer(length); /*code*/
comment charger un tampon en vector depuis un fichier? Avec une boucle?
merci pour la réponse.
Si je compile ceci:ça donne à la compilation:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #include <fstream> #include <vector> int main(){ std::ifstream F("toto"); int taille=15; std::vector<char>tampon(taille); F.read(tampon,taille); return 0; }
une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 main.cpp: In function int main(): main.cpp:8:10: error: cannot convert std::vector<char> to std::basic_istream<char>::char_type* {aka char*} 8 | F.read(tampon,taille); | ^~~~~~ | | | std::vector<char> In file included from /usr/include/c++/11/fstream:38, from main.cpp:1: /usr/include/c++/11/istream:486:23: note: initializing argument 1 of std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::read(std::basic_istream<_CharT, _Traits>::char_type*, std::streamsize) [with _CharT = char; _Traits = std::char_traits<char>; std::basic_istream<_CharT, _Traits>::char_type = char; std::streamsize = long int] 486 | read(char_type* __s, streamsize __n); | ~~~~~~~~~~~^~~
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Si tu ne respecte pas les type de données en argument des fonctions, ca ne peut pas compiler.
La fonction read attend un tableau de caractères en entrée:
https://en.cppreference.com/w/cpp/io/basic_istream/read
Tu veux faire quoi exactement ?
Partager