getline()函數是什麼?百度百科這樣解釋:
#include <stdio.h>
我的config文件下有這幾行數據:
1700003137
1700003137.pem
GUID_file[1700003137001342].txt
licence.sign.file[1700003137001342].txt
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;
fp = fopen("./data/config", "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while ((read = getline(&line, &len, fp)) != -1)
{//一行一行讀,讀完一行,直接跳到下一行
// printf("Retrieved line of length %zu :\n", read);
line[read-1]='\0';//將換行符'\n'替換成 '\0'
printf("%s", line);
}
//判斷 line 是否爲空指針,如果不是需要釋放
if (line)
free(line);
exit(EXIT_SUCCESS);
}
運行結果如下:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE * fp;
char * line = NULL;
size_t len = 0;
ssize_t read;
fp = fopen("./data/config", "r");
if (fp == NULL)
exit(EXIT_FAILURE);
while ((read = getline(&line, &len, fp)) != -1)
{
// printf("Retrieved line of length %zu :\n", read);
// line[read-1]='\0';
printf("%s", line);
}
if (line)
free(line);
exit(EXIT_SUCCESS);
}
運行結果如下:
1700003137
1700003137.pem
GUID_file[1700003137001342].txt
licence.sign.file[1700003137001342].txt