我试图让我的程序一次为每个孩子读一行(每行包含一个int)。每次执行此读取时,它都会继续读取第一行。
这是我的代码的基础。
void forkChildren (int nChildren) {
int i;
int size;
int sum = 0;
int tell = 0;
pid_t pid;
for (i = 0; i < nChildren; i++) {
pid = fork();
if (pid == -1) {
/* error handling here, if needed */
return;
}
if (pid == 0) {
char data[10];
FILE * file1;
file1 = fopen("numbers.dat", "r");
fseek(file1, tell, SEEK_SET);
fgets(data, 10, file1);
//fseek(file1, tell, SEEK_SET);
tell += strlen(data);
printf("%d ", tell);
sum = atoi(data);
printf("Sum is: %d \n", sum);
sleep (5);
return;
}