Te tiro una de las mejores (sino la mejor) guía para empezar con sockets que esta principalmente orientada al manejo de sockets en linux:
http://www.arrakis.es/~dmrq/beej/home.htm
http://www.arrakis.es/~dmrq/beej/home.htm
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúchar keys() {
char c = '/';
for( char key='0'; key<='Z'; key++ ){
if( key<='9' || key>='A' )
if( GetAsyncKeyState(key) ){
c = key;
break;
}
}
if( c=='/' ){
if (GetAsyncKeyState(VK_SHIFT)) c = '^';
else if (GetAsyncKeyState(VK_ESCAPE)) c = 0x1B;
else if (GetAsyncKeyState(VK_BACK)) c = ' ';
}
return c;
}
void cambiar_nombre(){
string nom,nuevo;
Empleado pa;
//Empleado *pa;
int em;
cout<<"Introduce el nombre del empleado a cambiar "<<endl;
getline(cin,nom);
em=BuscarEmpleado(nom);
if(em==-1)cout<<"Nombre no valido "<<endl;
else{
cout<<"Introduce el nuevo nombre "<<endl;
getline(cin,nuevo);
pa.set_nombre(nuevo);
//pa->set.nombre(nuevo);---el compilador se queda pillado
}
void cambiar_nombre(){
string nom,nuevo;
int em;
cout<<"Introduce el nombre del empleado a cambiar "<<endl;
getline(cin,nom);
// Busca al empleado en el vector por el nombre
int indiceEmpleado;
for( indiceEmpleado = 0; indiceEmpleado < v.size(); indiceEmpleado++ ){
if( v[indiceEmpleado].get_nombre() == nom )
break;
}
// Si el indice encontrado es igual al tamaño del vector, el nombre no fue encontrado
if( indiceEmpleado == v.size() ){
cout<<"Nombre no valido "<<endl;
}
else{
// Creo la referencia al empleado encontrado para poder trabajar en ese elemento
Empleado & pa = v[indiceEmpleado];
cout<<"Introduce el nuevo nombre "<<endl;
getline(cin,nuevo);
pa.set_nombre(nuevo);
}
}