#include <stdio.h>
#include <stdlib.h>
#include <string.h>
static inline int onerror(char **result){
return 0;
}
int addStringAtoB(char string[], char **result){
static const char *delimiter = " ,";
char *token
= strtok( string
, delimiter
);
if (token == NULL)
return onerror(result);
char *stringA = token;
token
= strtok( NULL
, delimiter
); if (token == NULL)
return onerror(result);
char *stringB = token;
char *endp;
int valA
= strtol(stringA
, &endp
, 10); if(*endp != '\0')
return onerror(result);
int valB
= strtol(stringB
, &endp
, 10); if(*endp != '\0')
return onerror(result);
int val_result = valA + valB;
int len
= snprintf(NULL
, 0, "%d", val_result
) + 1; snprintf(*result
,len
, "%d", val_result
); return 1;
}
void test(void) {
char A[] = "123,563";
char *result = NULL;
addStringAtoB(A, &result);
printf("\n result :----- %s \n", result
); }
int main(void){
test();
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKc3RhdGljIGlubGluZSBpbnQgb25lcnJvcihjaGFyICoqcmVzdWx0KXsKCSpyZXN1bHQgPSBtYWxsb2MoNik7CglzdHJjcHkoKnJlc3VsdCwgImVycm9yIik7CglyZXR1cm4gMDsKfQogCmludCBhZGRTdHJpbmdBdG9CKGNoYXIgc3RyaW5nW10sIGNoYXIgKipyZXN1bHQpewoJc3RhdGljIGNvbnN0IGNoYXIgKmRlbGltaXRlciA9ICIgLCI7CgljaGFyICp0b2tlbiA9IHN0cnRvayggc3RyaW5nLCBkZWxpbWl0ZXIpOwoKCWlmICh0b2tlbiA9PSBOVUxMKQoJCXJldHVybiBvbmVycm9yKHJlc3VsdCk7CgoJY2hhciAqc3RyaW5nQSA9IHRva2VuOwoKCXRva2VuID0gc3RydG9rKCBOVUxMLCBkZWxpbWl0ZXIpOwoJaWYgKHRva2VuID09IE5VTEwpCgkJcmV0dXJuIG9uZXJyb3IocmVzdWx0KTsKCgljaGFyICpzdHJpbmdCID0gdG9rZW47CgljaGFyICplbmRwOwoJaW50IHZhbEEgPSBzdHJ0b2woc3RyaW5nQSwgJmVuZHAsIDEwKTsKCWlmKCplbmRwICE9ICdcMCcpCgkJcmV0dXJuIG9uZXJyb3IocmVzdWx0KTsKCWludCB2YWxCID0gc3RydG9sKHN0cmluZ0IsICZlbmRwLCAxMCk7CglpZigqZW5kcCAhPSAnXDAnKQoJCXJldHVybiBvbmVycm9yKHJlc3VsdCk7CgoJaW50IHZhbF9yZXN1bHQgPSB2YWxBICsgdmFsQjsKCWludCBsZW4gPSBzbnByaW50ZihOVUxMLCAwLCAiJWQiLCB2YWxfcmVzdWx0KSArIDE7CgkqcmVzdWx0ID0gbWFsbG9jKGxlbik7CglzbnByaW50ZigqcmVzdWx0LGxlbiAsICIlZCIsIHZhbF9yZXN1bHQpOwoJcmV0dXJuIDE7Cn0KCnZvaWQgdGVzdCh2b2lkKSB7CgljaGFyIEFbXSA9ICIxMjMsNTYzIjsKCWNoYXIgKnJlc3VsdCA9IE5VTEw7CglhZGRTdHJpbmdBdG9CKEEsICZyZXN1bHQpOwoJcHJpbnRmKCJcbiByZXN1bHQgOi0tLS0tICVzIFxuIiwgcmVzdWx0KTsKCWZyZWUocmVzdWx0KTsKfQoKaW50IG1haW4odm9pZCl7Cgl0ZXN0KCk7Cn0=