如何从文本文件中读取行并存储为char数组?

时间:2015-03-17 23:02:29

标签: c arrays char text-files

我有一个带有一些指令的输入文本文件,从第7行开始,有几行文字。像这样:

hi gBroThuo oWdbmna eo mt ce oneain,nDustuh o n
Ade ds,bpopoonf  oneigno abro wmt  eIw
n,Yrtyt hlil t .s Ble a  meyboefr rtIhoyod
wla rimw yidehl. kes ,oyn L  af
fu;AcMadmdnae  nddmh ita behsctr rft iHdo"l,sie g"hu!,n eoaecMBt-
- h

我需要存储要存储在char数组中的文本(包括新行字符)。我可以使用哪些函数将该文本读取并存储到单个char数组中?

2 个答案:

答案 0 :(得分:1)

char fileBuf[MAXFILE];
FILE *f;
int c;
size_t i;

if (f = fopen("filename", "r")) {
    for (i = 0; i < (MAXFILE - 1) && (c = getc(f)) != EOF; ++i)
        fileBuf[i] = c;
    fclose(f);
} else perror("Could not open file");

编辑:你说你想跳过前7行。

int x;
char line[MAXLINE];
for (x = 0; x < 7; ++x)
    fgets(line, MAXLINE, f); /* skips first 7 lines, so now file pointer
                                will point to data after the 7 lines */

答案 1 :(得分:0)

你可以这样做:

int i = 0;
while(fscanf(inputFile, %c, &charArray[i])!=EOF)
   i++;