오류 (100 자리, 1500 자리), 호환되지 않는 유형 내가 많은 수의 합을 찾기 위해 노력하고있어
내 SUM 함수가된다.
char *find_sum(char *a, char *b) {
char *res;
int alen, blen, rlen;
int carry;
alen = strlen(a);
blen = strlen(b);
rlen = 1 + ((alen > blen) ? alen : blen);
res = malloc(1 + rlen);
if (res) {
int oldlen = rlen;
res[rlen] = 0;
carry = 0;
while (rlen) {
int tmp;
if (alen && blen) tmp = a[--alen] - '0' + b[--blen] - '0';
else if (alen) tmp = a[--alen] - '0';
else if (blen) tmp = b[--blen] - '0';
else tmp = 0;
tmp += carry;
res[--rlen] = '0' + tmp % 10;
carry = tmp/10;
}
if (res[0] == '0') memmove(res, res+1, oldlen);
}
return res;
}
내 data.txt로 아래가 예를 .FOR
char a[] = "243432423423423";
char b[] = "74356348775345";
char *c;
c = find_sum(a,b);
printf("%s",c);
그러나 나는이 번호에 원하는 (A와 B) (선으로) 파일에서 얻을 : 나는 아래처럼하려고 해요 경우
, 코드가 작동됩니다 줄 :
내가 는 fgets을 사용하여 파일에서 추가 값으로하려고하면210
7326473264723672364723864762374236
32473264623748632784632784
432423432423423423
0
3248972389473289473289478923
4897238473247382
732468723647236478238423
0
432748932489327894723894798239
48327489237483278
0
32423423423423
내가,이 파일을 열 모든 숫자의 각 라인과 합을 읽을 수 (다른 파일 sum.txt을 0에 도달 작성하는 경우 정지) , 호환되지 않는 형식 오류가 발생합니다.
내 테스트 코드 :
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *find_sum(char *a, char *b);
int main(int argc, const char *argv[])
{
FILE *file;
file = fopen("a.txt", "r");
if (file != NULL){
char *buf;
char *buf1;
char *sum;
fgets(buf, 100, file);
fgets(buf1, 100, file);
sum = find_sum(buf, buf1);
printf("%s",sum);
}
fclose(file);
return 0;
}
char *find_sum(char *a, char *b) {
char *res;
int alen, blen, rlen;
int carry;
alen = strlen(a);
blen = strlen(b);
rlen = 1 + ((alen > blen) ? alen : blen);
res = malloc(1 + rlen);
if (res) {
int oldlen = rlen;
res[rlen] = 0;
carry = 0;
while (rlen) {
int tmp;
if (alen && blen) tmp = a[--alen] - '0' + b[--blen] - '0';
else if (alen) tmp = a[--alen] - '0';
else if (blen) tmp = b[--blen] - '0';
else tmp = 0;
tmp += carry;
res[--rlen] = '0' + tmp % 10;
carry = tmp/10;
}
if (res[0] == '0') memmove(res, res+1, oldlen);
}
return res;
}
는 일반적으로 실제로하는 데 도움이 최초의 솔루션에 대한 샘플 구현 문제의 게시물을 게시 코드의 – cnicutar
우리가 당신의 문제를 해결하기를 원한다면 일하고있는 코드를 게시하는 것이 그렇게 도움이되지 않습니다. – Hogan
코드의 마녀 줄에 내 코드 –