예제 #1
0
파일: wcsort.c 프로젝트: Anat37/akos
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;    
}
예제 #2
0
파일: main.c 프로젝트: AlexeyZhuravlev/ACOS
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;
}
예제 #3
0
파일: parser.c 프로젝트: gwerz/MachBoot
void command_prompt(void) {
    printf("Entering recovery mode, starting command prompt\n");
    while(1) {
        char buffer[256];
        safe_gets("] ", buffer, 256);
        command_parse(buffer);
    }
}
예제 #4
0
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);
}
예제 #5
0
파일: gethex.c 프로젝트: jnlocke/proplib
unsigned gethex()
{
    char buf[80];
    safe_gets(buf, 80);

    unsigned x = 0;
    _scanf_getl(buf, (int*)&x, 16, 80, 0);

    return x;
}
예제 #6
0
파일: getlhex.c 프로젝트: jnlocke/proplib
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;
}
예제 #7
0
파일: scanf.c 프로젝트: jnlocke/proplib
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;
}
예제 #8
0
파일: getfnum.c 프로젝트: jnlocke/proplib
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;
    }
}
예제 #10
0
파일: ttinyio.c 프로젝트: neutered/propgcc
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;
}