main.c 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define Boolean int
  4. #define TRUE 1
  5. #define FALSE 0
  6. #define MAX_PIPE_BUFSIZE 256
  7. Boolean get_ip(char * pv)
  8. {
  9. FILE * fp;
  10. char cmdbuf[128], value[32];
  11. sprintf(cmdbuf,"/sbin/ifconfig eth0 | grep inet | cut -d\":\" -f2 | cut -d\" \" -f1");
  12. fp = popen(cmdbuf, "r");
  13. if (fp == NULL) {
  14. // printf("Fail to open pipe\n");
  15. return FALSE;
  16. }
  17. memset(value,0,sizeof(value));
  18. if (!feof(fp) && fgets(value,MAX_PIPE_BUFSIZE,fp) != NULL)
  19. ;
  20. // printf("value:%s\n", value);
  21. else {
  22. printf("ip wrong\n");
  23. return FALSE;
  24. }
  25. pclose(fp);
  26. if(strlen(value) < 10)
  27. return FALSE;
  28. strcpy(pv,value);
  29. return TRUE;
  30. }
  31. int main(int argc, char const *argv[])
  32. {
  33. char ipaddr[16],cmd_line[240];
  34. if(!get_ip(ipaddr)) {
  35. system("mpg123 -r 48000 /home/new-speaker/target/share/sounds/get_ip_failed.mp3");
  36. return 0;
  37. }
  38. strcpy(cmd_line,"cd /home/new-speaker/target/share/sounds/;mpg123 -r 48000 ");
  39. int i;
  40. for (i=0;i<strlen(ipaddr);i++){
  41. switch(ipaddr[i])
  42. {
  43. case '0':
  44. strcat(cmd_line,"digit-0.mp3 ");
  45. break;
  46. case '1':
  47. strcat(cmd_line,"digit-1.mp3 ");
  48. break;
  49. case '2':
  50. strcat(cmd_line,"digit-2.mp3 ");
  51. break;
  52. case '3':
  53. strcat(cmd_line,"digit-3.mp3 ");
  54. break;
  55. case '4':
  56. strcat(cmd_line,"digit-4.mp3 ");
  57. break;
  58. case '5':
  59. strcat(cmd_line,"digit-5.mp3 ");
  60. break;
  61. case '6':
  62. strcat(cmd_line,"digit-6.mp3 ");
  63. break;
  64. case '7':
  65. strcat(cmd_line,"digit-7.mp3 ");
  66. break;
  67. case '8':
  68. strcat(cmd_line,"digit-8.mp3 ");
  69. break;
  70. case '9':
  71. strcat(cmd_line,"digit-9.mp3 ");
  72. break;
  73. case '.':
  74. strcat(cmd_line,"dian.mp3 ");
  75. break;
  76. }
  77. }
  78. // printf("cmd-line:%s\n", cmd_line);
  79. system(cmd_line);
  80. return 0;
  81. }