- 论坛徽章:
- 0
|
C语言如何逐行处理文本?
struct FileTexts
{
char* Lines[MAX_LINE_COUNT];
int LineCount;
};
char* load_file(char* filename, struct FileTexts* FileText)
{
char line[MAX_LINE_SIZE];
int readCount;
FILE* file = fopen(filename, "r" ;
FileText->;LineCount = 0;
while(-1 != (readCount = getline(line, sizeof(line), file)))
{
FileText->;Lines[FileText->;LineCount] = (char*)malloc(readCount+1);
bzero(FileText->;Lines[FileText->;LineCount], readCount+1);
memcpy(FileText->;Lines[FileText->;LineCount], line, readCount);
FileText->;LineCount++;
}
fclose(file);
return NULL;
}
用getline实现 |
|