int main(int argc, char* argv[]) { char** data = NULL; char* buf; int strcnt = 0; size_t strsize = 10; int i, j; FILE* inf; FILE* outf; int ret = 0; if (argc < 3) { printf("Few args"); return 0; } inf = fopen(argv[1], "r"); outf = fopen(argv[2], "w"); if (outf == NULL || inf == NULL) { printf("Invalid file names"); return 0; } data = malloc(10 * sizeof(char*)); data[strcnt] = NULL; ret = safe_gets(inf, &data[strcnt]); while (ret == 0) { strcnt++; if (strcnt + 1 == strsize) { strsize += 10; data = realloc(data, strsize * sizeof(char*)); if (data == NULL) printf("whats up?"); } /*printf("%s", data[strcnt - 1]);*/ data[strcnt] = NULL; ret = safe_gets(inf, &data[strcnt]); } for (i = 0; i < strcnt; ++i) for (j = i + 1; j < strcnt; ++j) if (mycmp(data[i], data[j]) >= 0) { buf = data[j]; data[j] = data[i]; data[i] = buf; } printf("Words: %ld\n", words); for (i = 0; i < strcnt; ++i){ myputs(outf, data[i]); free(data[i]); } free(data[i]); free(data); fclose(inf); fclose(outf); return 0; }
int main() { int n; char* s; char* s1; FILE* input = fopen("input", "r"); FILE* output = fopen("output", "w"); if (input == NULL) fprintf(stderr, "Error opening file"); else if (fscanf(input, "%d\n", &n) == EOF) fprintf(stderr, "Error"); else { if (safe_gets(input, &s) == 0) { if (delete_same_substrings(s, &s1, n) == 0) { fprintf(output, "%s", s1); free(s1); free(s); } else fprintf(stderr, "Error"); } else fprintf(stderr, "Error"); } return 0; }
void command_prompt(void) { printf("Entering recovery mode, starting command prompt\n"); while(1) { char buffer[256]; safe_gets("] ", buffer, 256); command_parse(buffer); } }
int boot_script_prompt_task_resume (struct cmd *cmd) { char xx[5]; printf ("Hit return to resume %s...", cmd->path); safe_gets (xx, sizeof xx); return boot_script_task_resume (cmd); }
unsigned gethex() { char buf[80]; safe_gets(buf, 80); unsigned x = 0; _scanf_getl(buf, (int*)&x, 16, 80, 0); return x; }
unsigned long long getlhex() { char buf[80]; safe_gets(buf, 80); unsigned long long x = 0; _scanf_getll(buf, (long long*)&x, 16, 80, 0); return x; }
int scanf(const char *fmt, ...) { va_list args; char buf[80]; safe_gets(buf, 80); va_start(args, fmt); int blocks = _doscanf(buf, fmt, args); va_end(args); return blocks; }
unsigned getfnum(int base, int isSigned, int width) { char buf[80]; safe_gets(buf, 80); if (width > 80) width = 80; unsigned x = 0; _scanf_getl(buf, (int*)&x, base, width, isSigned); return x; }
int read_field_from_file(FILE* file, char*** field, int* n, int* m) { char* str; char** result; char* current_line; int size, i; char errorflag = 0; *m = 0; *n = 0; *field = NULL; while (errorflag == 0 && safe_gets(file, &str) != EOF) { parse_by_delimiter(str, ',', &result, &size); if ((*m) == 0) { *m = size; } else if ((*m) != size) { errorflag = 1; } current_line = (char*)malloc(size * sizeof(char)); for (i = 0; i < size; i++) { if (strcmp(result[i], "1") == 0 || strcmp(result[i], "0") == 0) { current_line[i] = (result[i][0] - '0'); } else { errorflag = 1; } } add_string_to_list(field, current_line, n); dispose_two_dimentional_array(result, size); free(str); } if (errorflag) { dispose_two_dimentional_array(*field, *n); *field = NULL; return 1; } else { return 0; } }
int main() { printf("This works %d%%\n", 100); printf("Hello World!\n"); printf("Norm nums: %d %u %x %c %s%s", -1, -2, 0xabcdefab, 'X', "x", "\n"); // Note: these don't work with __simple_printf! printf("BFill nums: %4d %12u %10x %3c %3s%s", -1, -2, 0xabcdefab, 'X', "x", "\n"); printf("LFill nums: %04d %012u %010x %3c %3s%s", -1, -2, 0xabcdefab, 'X', "x", "\n"); #pragma GCC diagnostic ignored "-Wformat" // The underlying library actively ignores the zeros -- we want to test it! printf("RFill nums: %-04d %-012u %-010x %-3c %-3s%s", -1, -2, 0xabcdefab, 'X', "x", "\n"); // The underlying library detects and handles this error - we want to test it! printf("%"); #pragma GCC diagnostic warning "-Wformat" #ifdef __TINY_IO_H putstr("Put* nums: "); putdec(-1); putchar(' '); putudec(-1); putchar(' '); puthex(0xabcdefab); putchar(' '); putchar('X'); putchar(' '); putstr("x"); putchar(' '); putfnum(0xabcdefab, 16, 0, 10, '0'); putchar('\n'); putlhex(-10000000000L); putchar(' '); putldec(-10000000000L); putchar(' '); putlfnum(0xabcdefabcdef, 16, 0, 16, '0'); putchar('\n'); #endif char buf[80]; sprintf(buf, "Norm nums: %d %u %x %c %s", -1, -2, 0xabcdefab, 'X', "x"); puts(buf); int d; unsigned u, x; char c; char s[20]; int n = sscanf(buf, "Norm nums: %d %u %x %c %s\n", &d, &u, &x, &c, s); printf("Scan nums: %d %u %x %c %s (%d scanned)\n", d, u, x, c, s, n); printf("\nGimme a character: "); char ch = getchar(); printf("\nYou typed: "); putchar(ch); putchar('\n'); int age; do { printf("\nHow old are you? "); scanf("%u", &age); } while (!age); printf("In ten years, you'll be: %d\n\n", age + 10); sprintf(buf, "BFill nums: %4d %12u %10x %3c %3s", -1, -2, 0xabcdefab, 'X', "x"); puts(buf); n = sscanf(buf, "BFill nums: %4d %12u %10x %3c %3s\n",&d, &u, &x, &c, s); printf("Scan nums: %d %u %x %c %s (%d scanned)\n", d, u, x, c, s, n); sprintf(buf, "LFill nums: %04d %012u %010x %3c %3s", -1, -2, 0xabcdefab, 'X', "x"); puts(buf); n = sscanf(buf, "LFill nums: %04d %012u %010x %3c %3s\n",&d, &u, &x, &c, s); printf("Scan nums: %d %u %x %c %s (%d scanned)\n", d, u, x, c, s, n); #ifdef __TINY_IO_H printf("\nEnter a string up to 4 characters: "); safe_gets(s, 5); printf("You entered: %s\n", s); printf("\nEnter a decimal: "); d = getdec(); printf("You entered: %d\n", d); printf("\nEnter an unsigned decimal: "); u = getudec(); printf("You entered: %d\n", u); printf("\nEnter a hex number: "); u = gethex(); printf("You entered: %x\n", u); printf("\nEnter a 1-4 digit number: "); d = getfnum(10, 1, 4); printf("You entered: %d\n", (int)d); long long ld; unsigned long long lu, lx; printf("\nEnter a long long decimal: "); ld = getldec(); printf("You entered: "); putldec(ld); putchar('\n'); printf("\nEnter an unsigned long long decimal: "); lu = getludec(); printf("You entered: "); putludec(lu); putchar('\n'); printf("\nEnter a long long hex number: "); lx = getlhex(); printf("You entered: "); putlhex(lx); putchar('\n'); printf("\nEnter a 1-12 digit long long number: "); ld = getlfnum(10, 1, 12); printf("You entered: "); putldec(ld); putchar('\n'); #endif _serialLock = 1; printf("\n\nMultithreaded tests.\n" "Note this will be quite messed up because multiple cogs\n" "will be doing I/O on a character-by-character basis...\n"); _start_cog_thread(threadStack(0), &testThread, (void*)1, &tls[0]); _start_cog_thread(threadStack(1), &testThread, (void*)2, &tls[1]); testThread(0); printf("\nBye!\n"); return 0; }