Witam, mam pytanie jaką flagą mam odpalić ten program używaj gcc , bo program podczas np. takie odpalanie gcc nowa.c -o nowa -lrt sypie błędami.
Poniżej kod:
#include <stdlib.h>
#include <stdio.h>
#include <sys/wait.h>
#include <unistd.h>
#include <sys/types.h>
int main()
{
int n, i, suma = 0, char ch;
int* wektor = NULL;
File* Fd;
Fd = fopen("suma.txt", "w+");
printf("Podaj ilosc elementow: ");
scanf("%d", &n);
if (n <= 0) {
printf("Liczba elementow nieprawidlowa\n");
return -1;
}
wektor = (int*)malloc(n * sizeof(int));
if (wektor == NULL) {
printf("Pamiec nie zostala zaalokowana.\n");
exit(0);
}
pid_t pid = fork();
if (pid > 0) {
wait(0);
printf("\nPowrot do procesu macierzystego\n");
Fd = fopen("suma.txt", "r");
while ((ch = fgetc(Fd)) != EOF)
printf("%c", ch);
fclose(Fd);
}
if (pid == 0) {
printf("Podaj elementy wektora.\n");
for (int i = 0; i < n; ++i) {
printf("Podaj wartosc elementu [%d]: ", i + 1);
scanf("%d", wektor + i);
suma += *(wektor + i);
}
fprintf(Fd, "\nSuma wynosi: %d\n", suma);
free(wektor);
fclose(Fd);
exit(0);
}
}