voici un prog mai sme fais erreur a cause du void voudrais decaler
donc bit mais sans les perdre
exemple: 00101111
en : 10111100
voici le prog:
#include <fstream>
int main()
{
using std::ifstream;
using std::ofstream;
ifstream ifs("c:\\temp/plo.jpg", std::ios::binary);
ofstream ofs("c:\\temp/plo.gio",std::ios::binary);
//
// on lit et on =E9crit un octet =E0 la fois, mais c'est tr=E8s rapide
car les flux standard
// en entr=E9e et en sortie proc=E8dent =E0 des acc=E8s optimis=E9s au m=
=E9dia
sous-jacent (acc=E8s
// en bloc et une ant=E9m=E9moire pour les donn=E9es disponibles).
//
char c;
int n;
n=3D2;
while (ifs.get(c)) {
void shift_left(unsigned char *c,
unsigned int n) {
n=3Dn%CHAR_BIT; /* make sure that n<CHAR_BIT */
unsigned char tmp=3D(*c)>>(CHAR_BIT-n);
*c=3D((*c)<<n)|tmp;
}
ofs.put(c);
} }
erreur de compilation :
C:\Program Files\CodeBlocks\MinGW\essai3\main.cpp||In function 'int
main()':|
C:\Program Files\CodeBlocks\MinGW\essai3\main.cpp|21|error: a function-
definition is not allowed here before '{' token|
||=3D=3D=3D Build finished: 1 errors, 0 warnings =3D=3D=3D|
>> c'est vrai je suis debutant jessaie de comprendre mais je trouve pas >> ce que je recherche sinon je viendrais pas ici est ecrie >> maisprobleme ..enfin >> je copie est je colle quand ca m'arrange mais je modifie aussi >> ,j'essaie de faire quelque chose ...mais je de la peine c'est vrai !
À mon avis, tu n'y arriveras jamais comme ça. Il faut que tu te trouv es un livre (ou un cours en ligne) d'apprentissage du C++.
> voila je devais declarer > unsigned char *c > est la il compile ok pas d'erreur
Qu'il compile est une chose, que l'exécutable obtenu fonctionne correctement (et conformément à ce qu'on souhaite) en est une autre.. .
-- LL
en effet compile sans erreur mais helas tu as raison plante me dis erreur est s'arete, je comprend pas pourquoi si il compile devrais functionner
On Oct 18, 10:49 am, Lucas Levrel <lucas.lev...@u-pec.fr> wrote:
Le 17 octobre 2011, paolo_3 a écrit :
>> c'est vrai je suis debutant jessaie de comprendre mais je trouve pas
>> ce que je recherche sinon je viendrais pas ici est ecrie
>> maisprobleme ..enfin
>> je copie est je colle quand ca m'arrange mais je modifie aussi
>> ,j'essaie de faire quelque chose ...mais je de la peine c'est vrai !
À mon avis, tu n'y arriveras jamais comme ça. Il faut que tu te trouv es un
livre (ou un cours en ligne) d'apprentissage du C++.
> voila je devais declarer
> unsigned char *c
> est la il compile ok pas d'erreur
Qu'il compile est une chose, que l'exécutable obtenu fonctionne
correctement (et conformément à ce qu'on souhaite) en est une autre.. .
--
LL
en effet compile sans erreur mais helas tu as raison plante me dis
erreur est s'arete, je comprend pas pourquoi si il compile devrais
functionner
>> c'est vrai je suis debutant jessaie de comprendre mais je trouve pas >> ce que je recherche sinon je viendrais pas ici est ecrie >> maisprobleme ..enfin >> je copie est je colle quand ca m'arrange mais je modifie aussi >> ,j'essaie de faire quelque chose ...mais je de la peine c'est vrai !
À mon avis, tu n'y arriveras jamais comme ça. Il faut que tu te trouv es un livre (ou un cours en ligne) d'apprentissage du C++.
> voila je devais declarer > unsigned char *c > est la il compile ok pas d'erreur
Qu'il compile est une chose, que l'exécutable obtenu fonctionne correctement (et conformément à ce qu'on souhaite) en est une autre.. .
-- LL
en effet compile sans erreur mais helas tu as raison plante me dis erreur est s'arete, je comprend pas pourquoi si il compile devrais functionner
Olivier Miakinen
Le 18/10/2011 13:26, paolo_3 a écrit :
[...] je comprend pas pourquoi si il compile devrais functionner
:-D
Le 18/10/2011 13:26, paolo_3 a écrit :
[...] je comprend pas pourquoi si il compile devrais
functionner
[...] je comprend pas pourquoi si il compile devrais functionner
:-D
Marc Boyer
Le 18-10-2011, paolo_3 a écrit :
en effet compile sans erreur mais helas tu as raison plante me dis erreur est s'arete, je comprend pas pourquoi si il compile devrais functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 18-10-2011, paolo_3 <giovannich1965@gmail.com> a écrit :
en effet compile sans erreur mais helas tu as raison plante me dis
erreur est s'arete, je comprend pas pourquoi si il compile devrais
functionner
La compilation, c'est l'orthographe.
L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire
quelque chose, et même si ça signifie quelques chose, ce n'était
pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça
motiverait pour t'aider.
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
en effet compile sans erreur mais helas tu as raison plante me dis erreur est s'arete, je comprend pas pourquoi si il compile devrais functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
paolo_3
On Oct 18, 3:22 pm, Marc Boyer wrote:
Le 18-10-2011, paolo_3 a écrit :
> en effet compile sans erreur mais helas tu as raison plante me dis > erreur est s'arete, je comprend pas pourquoi si il compile devrais > functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
desoler pour l'orthographe ... l'erreur viens de quoi ? je n'ai pas compris pourquoi en met un * devant le c
On Oct 18, 3:22 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
wrote:
Le 18-10-2011, paolo_3 <giovannich1...@gmail.com> a écrit :
> en effet compile sans erreur mais helas tu as raison plante me dis
> erreur est s'arete, je comprend pas pourquoi si il compile devrais
> functionner
La compilation, c'est l'orthographe.
L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire
quelque chose, et même si ça signifie quelques chose, ce n'était
pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça
motiverait pour t'aider.
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
desoler pour l'orthographe ...
l'erreur viens de quoi ?
je n'ai pas compris pourquoi en met un * devant le c
> en effet compile sans erreur mais helas tu as raison plante me dis > erreur est s'arete, je comprend pas pourquoi si il compile devrais > functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
desoler pour l'orthographe ... l'erreur viens de quoi ? je n'ai pas compris pourquoi en met un * devant le c
Pascal J. Bourguignon
paolo_3 writes:
On Oct 18, 3:22 pm, Marc Boyer wrote:
Le 18-10-2011, paolo_3 a écrit :
> en effet compile sans erreur mais helas tu as raison plante me dis > erreur est s'arete, je comprend pas pourquoi si il compile devrais > functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
desoler pour l'orthographe ... l'erreur viens de quoi ? je n'ai pas compris pourquoi en met un * devant le c
La compilation, ce n'est pas seulement l'orthographe, c'est la grammaire. Si tu faisais un effort sur ta grammaire, ça motiverait encore plus pour t'aider...
En C++ comme en français, il faut avoir une orthographe et une grammaire correctes, si tu veux que le sens soit clair.
Ensuite, la question c'est que le sens que tu écris corresponde au sens que tu veux exprimer, c'est à dire que la sémantique soit correcte, et pour ça, il n'y a qu'une intelligence qui puisse le faire. Donc, pour l'instant, un programmeur, car les intelligence artificielle ne sont pas encore au point.
-- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}.
paolo_3 <giovannich1965@gmail.com> writes:
On Oct 18, 3:22 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
wrote:
Le 18-10-2011, paolo_3 <giovannich1...@gmail.com> a écrit :
> en effet compile sans erreur mais helas tu as raison plante me dis
> erreur est s'arete, je comprend pas pourquoi si il compile devrais
> functionner
La compilation, c'est l'orthographe.
L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire
quelque chose, et même si ça signifie quelques chose, ce n'était
pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça
motiverait pour t'aider.
Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
desoler pour l'orthographe ...
l'erreur viens de quoi ?
je n'ai pas compris pourquoi en met un * devant le c
La compilation, ce n'est pas seulement l'orthographe, c'est la
grammaire. Si tu faisais un effort sur ta grammaire, ça motiverait
encore plus pour t'aider...
En C++ comme en français, il faut avoir une orthographe et une grammaire
correctes, si tu veux que le sens soit clair.
Ensuite, la question c'est que le sens que tu écris corresponde au sens
que tu veux exprimer, c'est à dire que la sémantique soit correcte, et
pour ça, il n'y a qu'une intelligence qui puisse le faire. Donc, pour
l'instant, un programmeur, car les intelligence artificielle ne sont pas
encore au point.
--
__Pascal Bourguignon__ http://www.informatimago.com/
A bad day in () is better than a good day in {}.
> en effet compile sans erreur mais helas tu as raison plante me dis > erreur est s'arete, je comprend pas pourquoi si il compile devrais > functionner
La compilation, c'est l'orthographe. L'exécution, c'est le sens.
C'est pas parce que l'orthographe est correcte que ça veut dire quelque chose, et même si ça signifie quelques chose, ce n'était pas forcément ce que tu voulais.
En passant, si tu faisais un effort sur ton orthographe, ça motiverait pour t'aider.
Marc Boyer -- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
desoler pour l'orthographe ... l'erreur viens de quoi ? je n'ai pas compris pourquoi en met un * devant le c
La compilation, ce n'est pas seulement l'orthographe, c'est la grammaire. Si tu faisais un effort sur ta grammaire, ça motiverait encore plus pour t'aider...
En C++ comme en français, il faut avoir une orthographe et une grammaire correctes, si tu veux que le sens soit clair.
Ensuite, la question c'est que le sens que tu écris corresponde au sens que tu veux exprimer, c'est à dire que la sémantique soit correcte, et pour ça, il n'y a qu'une intelligence qui puisse le faire. Donc, pour l'instant, un programmeur, car les intelligence artificielle ne sont pas encore au point.
-- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}.
Marc Boyer
Le 18-10-2011, paolo_3 a écrit :
On Oct 18, 3:22 pm, Marc Boyer
desoler pour l'orthographe ... l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend un type char* et que tu lui passais un char.
je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ? Ce que tu essayes de faire, c'est de passer un paramètre modifiable à une fonction (ce qu'on appelle mode in/out en algorithmique souvent, ou passage par référence). En C, cela se fait en passant l'adresse du paramètre (mais sais-tu ce qu'est un pointeur et une adresse ?). En C++, on préfère passer une référence.
-- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
Le 18-10-2011, paolo_3 <giovannich1965@gmail.com> a écrit :
On Oct 18, 3:22 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
desoler pour l'orthographe ...
l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend
un type char* et que tu lui passais un char.
je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ?
Ce que tu essayes de faire, c'est de passer un paramètre
modifiable à une fonction (ce qu'on appelle mode in/out en
algorithmique souvent, ou passage par référence).
En C, cela se fait en passant l'adresse du paramètre (mais
sais-tu ce qu'est un pointeur et une adresse ?).
En C++, on préfère passer une référence.
desoler pour l'orthographe ... l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend un type char* et que tu lui passais un char.
je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ? Ce que tu essayes de faire, c'est de passer un paramètre modifiable à une fonction (ce qu'on appelle mode in/out en algorithmique souvent, ou passage par référence). En C, cela se fait en passant l'adresse du paramètre (mais sais-tu ce qu'est un pointeur et une adresse ?). En C++, on préfère passer une référence.
je n'ai pas compris pourquoi en met un * devant le c
Il faut te trouver un cours et l'étudier par toi-même.
La différence entre c et *b fait partie des rudiments.
-- LL
paolo_3
On Oct 18, 5:16 pm, Marc Boyer wrote:
Le 18-10-2011, paolo_3 a écrit :
> On Oct 18, 3:22 pm, Marc Boyer
> desoler pour l'orthographe ... > l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend un type char* et que tu lui passais un char.
> je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ? Ce que tu essayes de faire, c'est de passer un paramètre modifiable à une fonction (ce qu'on appelle mode in/out en algorithmique souvent, ou passage par référence). En C, cela se fait en passant l'adresse du paramètre (mais sais-tu ce qu'est un pointeur et une adresse ?). En C++, on préfère passer une référence.
Petit code pour illustrer.
void raz1(int i){ i=0; cout<<i<<endl;}
void raz2(int* i){ *i=0; cout<<*i<<endl;}
void raz3(int& i){ i=0; cout<<i<<endl;}
int main(){ int x=1; raz1(x); cout<<x<<endl; x=1; raz2(&x); cout<<x<<endl; x=1; raz3(x); cout<<x<<endl;
}
-- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
salut je comprend pas bien ton code ... le probleme que je vois est que b n'a aucune valeur comme je charge while (ifs.get(c)) c est en char est ensuite la commande shift_left(b, n); b est vide pour c aplante je crois mais j'ai vu char est de -127 a +127 est unsigned est 0 a 255 j'ai essayer de faire ceci b=c; mais bien sur erreur .. donc je dois voir pour convertir la char en usigned ou peu etre charger directement en en unsigned le fichier ?
On Oct 18, 5:16 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
wrote:
Le 18-10-2011, paolo_3 <giovannich1...@gmail.com> a écrit :
> On Oct 18, 3:22 pm, Marc Boyer <Marc.Bo...@cert.onera.fr.invalid>
> desoler pour l'orthographe ...
> l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend
un type char* et que tu lui passais un char.
> je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ?
Ce que tu essayes de faire, c'est de passer un paramètre
modifiable à une fonction (ce qu'on appelle mode in/out en
algorithmique souvent, ou passage par référence).
En C, cela se fait en passant l'adresse du paramètre (mais
sais-tu ce qu'est un pointeur et une adresse ?).
En C++, on préfère passer une référence.
Petit code pour illustrer.
void raz1(int i){
i=0;
cout<<i<<endl;}
void raz2(int* i){
*i=0;
cout<<*i<<endl;}
void raz3(int& i){
i=0;
cout<<i<<endl;}
int main(){
int x=1;
raz1(x);
cout<<x<<endl;
x=1;
raz2(&x);
cout<<x<<endl;
x=1;
raz3(x);
cout<<x<<endl;
}
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
salut je comprend pas bien ton code ...
le probleme que je vois
est que b n'a aucune valeur comme je charge
while (ifs.get(c))
c est en char
est ensuite la commande
shift_left(b, n);
b est vide pour c aplante je crois
mais j'ai vu char est de -127 a +127
est unsigned est 0 a 255
j'ai essayer de faire ceci
b=c;
mais bien sur erreur ..
donc je dois voir pour convertir la char en usigned ou
peu etre charger directement en en unsigned le fichier ?
> desoler pour l'orthographe ... > l'erreur viens de quoi ?
L'erreur viens du fait que tu as une fonction qui attend un type char* et que tu lui passais un char.
> je n'ai pas compris pourquoi en met un * devant le c
Tu as quoi comme bases en C et/ou C++ ? Ce que tu essayes de faire, c'est de passer un paramètre modifiable à une fonction (ce qu'on appelle mode in/out en algorithmique souvent, ou passage par référence). En C, cela se fait en passant l'adresse du paramètre (mais sais-tu ce qu'est un pointeur et une adresse ?). En C++, on préfère passer une référence.
Petit code pour illustrer.
void raz1(int i){ i=0; cout<<i<<endl;}
void raz2(int* i){ *i=0; cout<<*i<<endl;}
void raz3(int& i){ i=0; cout<<i<<endl;}
int main(){ int x=1; raz1(x); cout<<x<<endl; x=1; raz2(&x); cout<<x<<endl; x=1; raz3(x); cout<<x<<endl;
}
-- À mesure que les inégalités regressent, les attentes se renforcent. François Dubet
salut je comprend pas bien ton code ... le probleme que je vois est que b n'a aucune valeur comme je charge while (ifs.get(c)) c est en char est ensuite la commande shift_left(b, n); b est vide pour c aplante je crois mais j'ai vu char est de -127 a +127 est unsigned est 0 a 255 j'ai essayer de faire ceci b=c; mais bien sur erreur .. donc je dois voir pour convertir la char en usigned ou peu etre charger directement en en unsigned le fichier ?