online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
/****************************************************************************** Online C Compiler. Code, Compile, Run and Debug C program online. Write your code in this editor and press "Run" button to compile and execute it. *******************************************************************************/ #include <stdio.h> #include <string.h> int string_parse(char **parameter, char* buf, size_t buf_sz) { char stopchar = ' '; char stopchars[] = "\'\"\0"; while(*++(*parameter) != ' ') {;;} while(*++(*parameter)) { if (strchr(stopchars, **parameter)) { stopchar = **parameter; continue; } if (**parameter != stopchar && buf_sz > 1) { *buf++ = **parameter; buf_sz--; } else break; } *buf = '\0'; return 1; } int path_parse(char **parameter, char* buf, size_t buf_sz) { } int num_parse(char **parameter, int *number, int *decimal) { int num = 0; int dec = 0; int found = 0; int neg = 0; //printf ("n: %s\n", *parameter); char* start = *parameter; while(**parameter) { if (**parameter == '-') neg++; while (isdigit(**parameter)) { found++; num = num *10 + **parameter - '0'; (*parameter)++; } if(found) { if (**parameter == '.') { while (isdigit(*++(*parameter))) { found++; dec = dec *10 + **parameter - '0'; } } break; } (*parameter)++; } if (found == 0) *parameter = start; if(number) *number = neg & 1 ? -num : num; if (decimal) *decimal = dec; return found; } void argparse(char *parameter, int (*arg_callback)(char **parameter)) { //printf ("%s\n",parameter); while (*parameter) { switch (*parameter) { case '-': { while (*++parameter) { if (!arg_callback(&parameter)) return; break; } } } parameter++; } } int arg_callback(char **parameter) { int num, dec; char buf[32]; switch (**parameter) { case 'P' : case 'p' : printf ("Arg: %c\n", **parameter); //50 - 200% if (num_parse(parameter, &num, &dec)) printf ("Val: %d.%d\n", num, dec); break; case 'S' : case 's' : printf ("Arg: %c\n", **parameter); //50 - 200% if (num_parse(parameter, &num, &dec)) printf ("Val: %d.%d\n", num, dec); break; case 'e' : case 'E' : printf ("Arg: %c\n", **parameter); if (string_parse(parameter, buf, sizeof(buf))) printf ("Val: %s\n", buf); break; default : printf ("Unknown switch '%c'\n",**parameter); //return 0; } return 1; } int main() { argparse("-p 42 -s 9.9 -P -78.9009 -f -E /rockbox/path/f -e 'Yestest'", &arg_callback); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text
×

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue