#include <stdio.h>
#define MAX_ROWS 512
#define MAX_COLS 512
char *file_content[MAX_ROWS];
void readFile(char *file_name, char **file_content) {
char const* const fileName = file_name;
FILE* file = stdin;//fopen(fileName, "r");
int i = 0;
char line_buf[MAX_COLS];
line_buf[MAX_COLS-1] = '\0';
while(fgets(line_buf
, MAX_COLS
-1, file
)) { size_t len
= strlen(line_buf
); file_content
[i
] = calloc(len
,sizeof(char)); memcpy(file_content
[i
], line_buf
, len
); file_content[i][len-1] = '\0';
i++;
}
for(int j; j<i; ++j)
{
printf("line %d: %s \n",j
,file_content
[j
]); }
}
int main(void) {
readFile(NULL,file_content);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE1BWF9ST1dTIDUxMgojZGVmaW5lIE1BWF9DT0xTIDUxMgoKY2hhciAqZmlsZV9jb250ZW50W01BWF9ST1dTXTsKCnZvaWQgcmVhZEZpbGUoY2hhciAqZmlsZV9uYW1lLCBjaGFyICoqZmlsZV9jb250ZW50KSB7CiAgICBjaGFyIGNvbnN0KiBjb25zdCBmaWxlTmFtZSA9IGZpbGVfbmFtZTsgCiAgICBGSUxFKiBmaWxlID0gc3RkaW47Ly9mb3BlbihmaWxlTmFtZSwgInIiKTsgCgogICAgaW50IGkgPSAwOwogICAgCiAgICBjaGFyIGxpbmVfYnVmW01BWF9DT0xTXTsKICAgIGxpbmVfYnVmW01BWF9DT0xTLTFdID0gJ1wwJzsKICAgIHdoaWxlKGZnZXRzKGxpbmVfYnVmLCBNQVhfQ09MUy0xLCBmaWxlKSkgeyAKICAgICAgICBzaXplX3QgbGVuID0gc3RybGVuKGxpbmVfYnVmKTsKICAgICAgICBmaWxlX2NvbnRlbnRbaV0gPSBjYWxsb2MobGVuLHNpemVvZihjaGFyKSk7CiAgICAgICAgbWVtY3B5KGZpbGVfY29udGVudFtpXSwgbGluZV9idWYsIGxlbik7CiAgICAgICAgZmlsZV9jb250ZW50W2ldW2xlbi0xXSA9ICdcMCc7CiAgICAgICAgaSsrOwogICAgfQogICAgCiAgICBmb3IoaW50IGo7IGo8aTsgKytqKQogICAgewoJCXByaW50ZigibGluZSAlZDogJXMgXG4iLGosZmlsZV9jb250ZW50W2pdKTsgIAkKICAgIH0KICAgIGZjbG9zZShmaWxlKTsKfQoKaW50IG1haW4odm9pZCkgewoJcmVhZEZpbGUoTlVMTCxmaWxlX2NvbnRlbnQpOwoJcmV0dXJuIDA7Cn0K