Exemple #1
0
char* SumCharsAndDigits(const char* str){
    int i, sum, value;
    char *tmpResult;

    tmpResult = (char *) malloc((strLen(str)+1) * sizeof(char));
    if(NULL == tmpResult) return NULL;

    cpStr(tmpResult, str);

    do {
        sum = 0;
        for(i = 0; tmpResult[i] != '\0'; i++){
            value = getValueOfCharAndDigits(tmpResult[i]);
            sum += (value < 0 ? 0 : value);
        }
        sprintf(tmpResult, "%d", sum);
    }
    while (sum >= 10);

    return tmpResult;
}
 String(const char *str = "") {
     size = 0;
     this->str = 0;
     size = lengthOfStr(str);
     this->str = (size > 0) ? cpStr(str, size) : 0;
 }
 String(const char *str, size_t len) {
     size = len;
     this->str = cpStr(str, size);
 }