Pagini recente » Cod sursa (job #1037224) | Cod sursa (job #272511) | Cod sursa (job #288693) | Cod sursa (job #3171288) | Cod sursa (job #227865)
Cod sursa(job #227865)
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#define MAXIM 12
void read_line(int fd, char *result)
{
char temp[1];
int nr;
while (1)
{
nr = read(fd, temp, 1);
if (-1 == nr || *temp == '\n')
break;
*result++ = temp[0];
}
}
int main()
{
int in_fd, out_fd;
long sum;
char a[MAXIM], b[MAXIM] ,s[MAXIM + 1];
if ( -1 == (in_fd = open("adunare.in", O_RDONLY)))
return 1;
read_line(in_fd, a);
read_line(in_fd, b);
close(in_fd);
sum = atol(a) + atol(b);
memset(s, 0, MAXIM + 1);
sprintf(s, "%ld\n", sum);
if ( -1 == (out_fd = open("adunare.out", O_RDWR | O_CREAT, S_IRWXU)))
return 1;
write(out_fd, s, MAXIM + 1);
close(out_fd);
return 0;
}