#include <stdio.h>
#include <stdlib.h>
int main(void){
int i, j, size, *size_v, **vector;
FILE *file;
file=fopen("file.dat", "rt");
if (file==NULL){
printf("Exit ...");
exit(1);
}
i = 0;//scan file
while(EOF != fscanf(file, "%d", &size)){
for(j = 0; j < size; j++){
fscanf(file, "%*d");
}
i++;
}
rewind(file);
size_v = malloc(i * sizeof(int));
vector = malloc(i * sizeof(int*));
i = 0;//read file
while(EOF != fscanf(file, "%d", &size_v[i])){
vector[i] = malloc(size_v[i] * sizeof(int));
for(j = 0; j < size_v[i]; j++){
fscanf(file, "%d", &vector[i][j]);
}
i++;
}
fclose(file);
//print & deallocate
size = i;
for(i = 0; i < size; ++i){
printf("%d\n", size_v[i]);
for(j = 0; j < size_v[i]; ++j){
printf("%d ", vector[i][j]);
}
printf("\n");
free(vector[i]);
}
free(vector);
free(size_v);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i, j, size, *vector;
FILE *file;
file=fopen("file.dat", "rt");
if (file==NULL){
printf("Exit ...");
exit(1);
}
i = 0;
while(EOF != fscanf(file, "%d", &size)){
printf("%d\n", size);//each loop
vector = malloc(size * sizeof(int));
for(j = 0; j < size; j++){
fscanf(file, "%d", &vector[j]);
}
for(j = 0; j < size; j++){
printf("%d ", vector[j]);
}
printf("\n");
free(vector);
i++;
}
fclose(file);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i, j, k, size, size_sum, *size_v, *vector;
FILE *file;
file=fopen("file.dat", "rt");
if (file==NULL){
printf("Exit ...");
exit(1);
}
i = 0;//scan file
size_sum = 0;
while(EOF != fscanf(file, "%d", &size)){
size_sum += size;
for(j = 0; j < size; j++){
fscanf(file, "%*d");
}
i++;
}
rewind(file);
size_v = malloc(i * sizeof(int));
vector = malloc(size_sum * sizeof(int));
i = 0;//read file
k = 0;
while(EOF != fscanf(file, "%d", &size_v[i])){
for(j = 0; j < size_v[i]; j++){
fscanf(file, "%d", &vector[k++]);
}
i++;
}
fclose(file);
//print & deallocate
size = i;
size_sum = 0;
for(i = 0; i < size; ++i){
printf("%d\n", size_v[i]);
for(j = 0; j < size_v[i]; ++j){
printf("%d ", vector[j + size_sum]);
}
printf("\n");
size_sum += size_v[i];
}
free(vector);
free(size_v);
return 0;
}