Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/06/2015, 23:18
tabam
 
Fecha de Ingreso: octubre-2010
Ubicación: Uruguay
Mensajes: 23
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Convertir caracter a entero

Cita:
Iniciado por tabam Ver Mensaje
Hola, la verdad es que se muy poco de C, soy mas programador de PHP y lo que quiero es enviarle un numero de PHP a C por medio de esta función:

exec("archivo_C 2 ");

y que el programa en C envíe este número al puerto paralelo de la PC.

Lamentablemente no entiendo bien lo que me decís que tengo que hacer, aparte me confunde los punteros que utiliza C para obtener el parámetro que le estoy enviando desde PHP.

Si no es mucha molestia me podrías mostrar un ejemplo de cómo hacerlo, no digo que me hagas el trabajo pero precisaría un poco mas de ayuda.

Saludos!!!!!


Lo que logre hasta ahora en base a algunos ejemplos que vi en la web fue lo siguiente:

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <math.h>
  4.  
  5. main (int argc, char *argv[]){
  6.      
  7.      if(argc == 2){
  8.        
  9.         int num = 0;
  10.         int tam  = strlen(argv[1]);
  11.         int digito;
  12.         int i;
  13.  
  14.             for (i = tam ; i > 0; --i) {
  15.                 digito = (int) (argv[1][i - 1] - 48);
  16.                 num += digito * pow(10.0, tam - i);
  17.             }
  18.          
  19. printf("<br>%i",num);
  20.  
  21.             }else{
  22.                 printf("Error: argumentos no validos\n");
  23.                 return 1;
  24.                 }
  25.              
  26. return 0;
  27.  
  28. }

Pero no entiendo porque al enviarle el numero 100, el programa me muestra 99 y asi con algunos números, después lo demás aparentemente funciona bien.

Ademas porque el Dev-C++ a pesar de compilar el programa me muestra estos mensajes:

Código BASH:
Ver original
  1. C:\wamp\www\lpt\temporal.cpp In function `int main(int, char**)':
  2. 17 C:\wamp\www\lpt\temporal.cpp [Warning] converting to `int' from `double'