我有一个带有一些指令的输入文本文件,从第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
数组中?
答案 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++;