char unechaine[]="lis jusque la%et pas apres"; char* c; char* d; char szBuf[32]; c=unechaine; d=szBuf; while((*d=*c++)&&(*c!='%')) d++; *++d='\0'; //sinon ca ecrit plein de trucs bizarre sous DOS(en supposant que tu l'execute sous dos) cout<<szBuf2 contient :<<szBuf2<<endl;