|
121
|
Programación / Programación C/C++ / Re: [?] Error fgets
|
en: 19 Enero 2014, 15:41 pm
|
Hola MeCraniDOS mira esto:Es decir que fgets por definición lee carácteres del stream y los almacena en str hasta un número de (num-1) carácteres
Eso es lo que habia hecho, poner (MAX + 1), pero no sabia el porque con 5 cogia 4, con 4 cogia 3, etc
Vale, pues muchas gracias
Saludos
|
|
|
122
|
Programación / Programación C/C++ / [?] Error fgets (Solucionado)
|
en: 19 Enero 2014, 14:56 pm
|
Hola, tengo un problema con fgets, estoy intentando separar un numero de 4 digitos, e introducir cada uno de ellos en una posicion del array
Para eso lo guardo en un array de caracteres y asi ya me guarda en cada posicion un numero, pero tal y como esta el codigo ahora solo guarda tres (lo he mirado con el debugger), cuando en teoria deberia guardar 4 (MAX)
Debería hacer esto:
Numero: 4578
Pos_1 Pos_2 Pos_3 Pos_4 4 5 7 8
Pero hace esto:
Numero: 4578
Pos_1 Pos_2 Pos_3 Pos_4 4 5 7 -48
Es decir, la ultima posicion del array la toma como 0, y al restar 48 (es lo mismo usar la funcion atoi), se queda en -48
#include <stdio.h> #define MAX 4 #define TONUM 48 int main() { char Cadena[MAX]; int Numero[MAX]; printf("Introduce un numero de 4 digitos: "); fgets(Cadena, MAX, stdin); getchar(); // Ahora convertimos la cadena a numerico for(int i=0;i<MAX;i++) { Numero[i] = Cadena[i] - TONUM; printf("%d", Numero[i]); } return 0; }
No se donde puedes estar el error, porque seguro que es muy tonto
Saludos
(El código es un recorte del grande, pero esa es la parte que falla, asi que quizas no va bien porque me he dejado algo )
|
|
|
124
|
Programación / Scripting / [?] Bash Script SSH
|
en: 14 Diciembre 2013, 12:00 pm
|
Buenas, pues tengo un pequeño problemilla, estoy intentando ejecutar un comando en otro pc sin ser root vía SSH, con "sudo $Comando", pero no se como modificar el script #!/bin/bash HOST="Aqui la IP" USER="Aqui el Usuario" PASS="Aqui la Contraseña del Usuario" CMD=$@ VAR=$(expect -c " spawn ssh -o StrictHostKeyChecking=no $USER@$HOST sudo $CMD match_max 100000 expect \"*?assword:*\" send -- \"$PASS\r\" send -- \"\r\" send -- \"$PASS\r\" send -- \"\r\" expect eof ") echo "===============" echo "$VAR"
La salida que da es:?@Ubuntu:/home/?/Desktop$ ./System.sh "reboot" =============== spawn ssh -o StrictHostKeyChecking=no Usuario@IP sudo reboot Usuario@IP password: sudo: no tty present and no askpass program specified sudo: no tty present and no askpass program specified Sorry, try again. sudo: no tty present and no askpass program specified sudo: no tty present and no askpass program specified Sorry, try again. sudo: no tty present and no askpass program specified sudo: no tty present and no askpass program specified Sorry, try again. sudo: 3 incorrect password attempts A ver si me pueden ayudar...
PD: Para que funcione tenemos que tener expect instalado apt-get install expect Saludos
|
|
|
127
|
Sistemas Operativos / GNU/Linux / [?] Ejecución de Procesos
|
en: 6 Diciembre 2013, 15:17 pm
|
Buenas, quería preguntar un par de cosillas sobre los procesos
Cuando tu ejecutas un proceso desde la consola, esta se queda ocupada, apretando Ctrl^Z, detienes el proceso, y despues lo puedes ejecutar en segundo plano con el comando "bg", o directamente lo puedes ejecutar en segundo plano con el comando "proceso &", y luego lo puedes volver a primer plano con "fg"...
Hasta ahí bien , y las preguntas son:
Que diferencia hay entre "proceso &" y "nohup proceso &"?
Y como se ejecuta un proceso? Es decir, que pasos sigue un proceso desde que se inicia hasta que finaliza?
Saludos
|
|
|
|
|
|
|