Theo Ekelmans
/
substring_demo
Simple substring demo using only the MBED default library
main.cpp@0:97a47026da17, 2012-01-10 (annotated)
- Committer:
- ekelmans
- Date:
- Tue Jan 10 21:58:57 2012 +0000
- Revision:
- 0:97a47026da17
V 1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ekelmans | 0:97a47026da17 | 1 | // Simple substring demo using only the default MBED library |
ekelmans | 0:97a47026da17 | 2 | // Theo@Ekelmans.com (NL) |
ekelmans | 0:97a47026da17 | 3 | |
ekelmans | 0:97a47026da17 | 4 | #include "mbed.h" |
ekelmans | 0:97a47026da17 | 5 | |
ekelmans | 0:97a47026da17 | 6 | Serial usbUART ( USBTX, USBRX ); |
ekelmans | 0:97a47026da17 | 7 | |
ekelmans | 0:97a47026da17 | 8 | void substring(char *s,char *d,int pos,int len) { |
ekelmans | 0:97a47026da17 | 9 | //usage: substring(Source,Destination,pos,len); |
ekelmans | 0:97a47026da17 | 10 | |
ekelmans | 0:97a47026da17 | 11 | char *t; |
ekelmans | 0:97a47026da17 | 12 | |
ekelmans | 0:97a47026da17 | 13 | s=s+(pos-1); |
ekelmans | 0:97a47026da17 | 14 | t=s+len; |
ekelmans | 0:97a47026da17 | 15 | while (s!=t) { |
ekelmans | 0:97a47026da17 | 16 | *d=*s; |
ekelmans | 0:97a47026da17 | 17 | s++; |
ekelmans | 0:97a47026da17 | 18 | d++; |
ekelmans | 0:97a47026da17 | 19 | } |
ekelmans | 0:97a47026da17 | 20 | *d='\0'; |
ekelmans | 0:97a47026da17 | 21 | } |
ekelmans | 0:97a47026da17 | 22 | |
ekelmans | 0:97a47026da17 | 23 | |
ekelmans | 0:97a47026da17 | 24 | int main() { |
ekelmans | 0:97a47026da17 | 25 | usbUART.baud(115200); |
ekelmans | 0:97a47026da17 | 26 | usbUART.printf("%c", 12); |
ekelmans | 0:97a47026da17 | 27 | |
ekelmans | 0:97a47026da17 | 28 | char Source[50]="working with strings is fun 0123456789 9876543210"; |
ekelmans | 0:97a47026da17 | 29 | char Destination[50]; |
ekelmans | 0:97a47026da17 | 30 | int pos,len; |
ekelmans | 0:97a47026da17 | 31 | |
ekelmans | 0:97a47026da17 | 32 | usbUART.printf("----------------------------------------------------------\r\n"); |
ekelmans | 0:97a47026da17 | 33 | usbUART.printf(" substring demo \r\n"); |
ekelmans | 0:97a47026da17 | 34 | usbUART.printf("----------------------------------------------------------\r\n"); |
ekelmans | 0:97a47026da17 | 35 | usbUART.printf("source: %s\r\n", Source); |
ekelmans | 0:97a47026da17 | 36 | usbUART.printf("----------------------------------------------------------\r\n"); |
ekelmans | 0:97a47026da17 | 37 | printf("input the start position, tap enter, input length, tap enter "); |
ekelmans | 0:97a47026da17 | 38 | scanf("%d%d",&pos,&len); |
ekelmans | 0:97a47026da17 | 39 | printf("\n\n"); |
ekelmans | 0:97a47026da17 | 40 | |
ekelmans | 0:97a47026da17 | 41 | substring(Source,Destination,pos,len); |
ekelmans | 0:97a47026da17 | 42 | |
ekelmans | 0:97a47026da17 | 43 | printf("s= %s\n\r", Source); |
ekelmans | 0:97a47026da17 | 44 | printf("d= %s\n\r", Destination); |
ekelmans | 0:97a47026da17 | 45 | |
ekelmans | 0:97a47026da17 | 46 | } |