C语⾔如何返回char类型,函数返回char类型数组,调⽤函数后
如何接收值?
我现在刚在学C语⾔,今天想要实现⼀个功能:
⽤C语⾔读取⼀个⽂件的指定⾏,(如读取a.log⽂件的3--5⾏),现在实现了读取函数, 但在main函数调⽤时不知道怎么接收返回的值。
代码如下:
#include
/*
读取a.log中第3⾏到第5⾏的内容
*/
#define MAXLIN 100
#define FILENAME "a.log"
char* getFileRows(char* filename,int start_line, int end_line);
int main()
{
getFileRows(FILENAME,3,5);
/*
getFileRows 函数返回的是 data[3][100] 这种的char类型数组。
getFileRows 函数返回的是char类型的数组, 我这⾥应该怎么定义变量,来接收返回值呢?
*/
return 1;
}
/*
读取⽂件, 读取 start_line 到 end_line ⾏之间的内容
*/
char* getFileRows(char* logfile,int start_line, int end_line)
{
int k=0,i = 0 ;
int pos = 1;
char c;
int line = end_line - start_line;
char data[line][MAXLIN];
FILE* fp = fopen(logfile,"r");
if(fp == NULL){
printf("FILE OPEN ERROR"); getchar();
c语言char的用法
exit(1);
}
while(i
fseek(fp,pos,SEEK_SET); while( (c=fgetc(fp)) != NULL){ pos++;
if(c == '\n'){
break;
}
}
i++;
}
for(k=0;k<=line;k++){
fgets(data[k],MAXLIN,fp);
}
return data;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。