Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

C problem...

Name: Anonymous 2012-10-31 13:13

Ok, now that I'm not drunk and more composed, why the trim isn't working?

#include <stdio.h>

#define MAX 1000

int main(){
    char line[MAX];
    int lgh;
    line[0] = '\0';
    while ((lgh = getLine(line, MAX)) != 0){
        printf("%s\n", line);
        line[0] = '\0';
    }
    return 0;
}

int getLine(char s[], int length){
    char s2[length];
    int i, ii, qttWord = 0, qttWord2 = 0;
    int c; // c = getchir() d = EOF
    char flag = '\0';
   
    s2[0] = '\0';
    /*Reads the input and puts it into s[], then, verifies if the input is just \n,
    * if so, returns 0(i), if not, puts '\0' at the end of the string.
    */
    for (i = 0; i < length-1 && (c = getchar()) != EOF && c != '\n'; ++i){
            s[i] = c;
            ++qttWord;
    }
    if (i == 0){
        if (c == '\n')
            return 0;
    } else if (c == '\n'){
        ++i;
        s[i] = '\0';
    }
    /*Verifies if the string is just ' ' or '\t'
    * if so, returns 0
    */
    for (i = 0; i < qttWord && flag != '1'; ++i){
        if (s[i] == ' ' || s[i] == '\t'){
            flag = '0';
        } else{
            flag = '1';
        }
    }
    if (flag == '0')
        return 0;
    /*
    *The trim function
    */
    for (i = 0; i < qttWord; ++i){
        if (i < qttWord-1){
            if (s[i] == ' ' && s[i+1] != ' '){
                s2[i] = s[i];
                ++qttWord2;
                printf("1%d\n", s2[i]);//test thing
            }
        }
        if (s[i] != ' '){
            s2[i] = s[i];
            ++qttWord2;
            printf("0%d\n", s2[i]);//test thing
        }
    }
    for (i = 0; i < qttWord2+1; ++i){
        s[i] = s2[i];
    }
   
    return 1;
}

Also, the > flag != 1 thing was because flag was an int, then I remembered that char is the smallest data unit in C, and so I changed everything to characters except that. Although, it did work that way...

Name: Anonymous 2012-10-31 13:21

First of all, why are you using a language from the 70s? Nostalgic or something?

Name: Anonymous 2012-10-31 13:25

Make your code readable please.

Name: Anonymous 2012-10-31 13:37

Enterprise quality.

Name: Anonymous 2012-10-31 15:57

I spent too much time reading your code and understanding what it does. You're an idiot. Please die. Thanks in advance,

Don't change these.
Name: Email:
Entire Thread Thread List