| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #include <stdio.h>
- #include <string.h>
- #define Boolean int
- #define TRUE 1
- #define FALSE 0
- #define MAX_PIPE_BUFSIZE 256
- Boolean get_ip(char * pv)
- {
- FILE * fp;
- char cmdbuf[128], value[32];
- sprintf(cmdbuf,"/sbin/ifconfig eth0 | grep inet | cut -d\":\" -f2 | cut -d\" \" -f1");
- fp = popen(cmdbuf, "r");
- if (fp == NULL) {
- // printf("Fail to open pipe\n");
- return FALSE;
- }
- memset(value,0,sizeof(value));
- if (!feof(fp) && fgets(value,MAX_PIPE_BUFSIZE,fp) != NULL)
- ;
- // printf("value:%s\n", value);
- else {
- printf("ip wrong\n");
- return FALSE;
- }
- pclose(fp);
- if(strlen(value) < 10)
- return FALSE;
- strcpy(pv,value);
- return TRUE;
- }
- int main(int argc, char const *argv[])
- {
- char ipaddr[16],cmd_line[240];
- if(!get_ip(ipaddr)) {
- system("mpg123 -r 48000 /home/new-speaker/target/share/sounds/get_ip_failed.mp3");
- return 0;
- }
- strcpy(cmd_line,"cd /home/new-speaker/target/share/sounds/;mpg123 -r 48000 ");
- int i;
- for (i=0;i<strlen(ipaddr);i++){
- switch(ipaddr[i])
- {
- case '0':
- strcat(cmd_line,"digit-0.mp3 ");
- break;
- case '1':
- strcat(cmd_line,"digit-1.mp3 ");
- break;
- case '2':
- strcat(cmd_line,"digit-2.mp3 ");
- break;
- case '3':
- strcat(cmd_line,"digit-3.mp3 ");
- break;
- case '4':
- strcat(cmd_line,"digit-4.mp3 ");
- break;
- case '5':
- strcat(cmd_line,"digit-5.mp3 ");
- break;
- case '6':
- strcat(cmd_line,"digit-6.mp3 ");
- break;
- case '7':
- strcat(cmd_line,"digit-7.mp3 ");
- break;
- case '8':
- strcat(cmd_line,"digit-8.mp3 ");
- break;
- case '9':
- strcat(cmd_line,"digit-9.mp3 ");
- break;
- case '.':
- strcat(cmd_line,"dian.mp3 ");
- break;
- }
- }
- // printf("cmd-line:%s\n", cmd_line);
- system(cmd_line);
- return 0;
- }
|