int getFileContext(char* filename) {
FILE *file; // 创建文件指针变量
char buffer[1024]; // 设置足够大的缓冲区来容纳文件数据
char* recv_buff_end = NULL;
int newlen = 0;
int oldlen = 0;
int finalflag= 0;
file = fopen(filename, "r"); // 打开文件("filename"为要读取的文件名)
if (file == NULL) {
printf("无法打开文件\n");
return -1;
}
while (!feof(file)) {
memset(buffer, '\0', BUFFER_SIZE); // 清空缓冲区
size_t bytesRead = fread(buffer, sizeof(char), sizeof(buffer), file);
if (bytesRead > 0) {
newlen =oldlen + bytesRead;
// 处理读取到的数据...
if(recv_buff_end == NULL){
recv_buff_end = (char*)malloc(BUFFER_SIZE);
memcpy(recv_buff_end,buffer,bytesRead);
}
else
{
recv_buff_end = (char*)realloc(recv_buff_end,newlen);
memcpy(recv_buff_end+oldlen,buffer,bytesRead);
}
oldlen = newlen;
} else {
break; // 没有更多数据了,退出循环
}
}
printf(" \n aaaa oldlen oldlen oldlen ==%d\n",oldlen);
printf(" \n aaaa newlen newlen newlen ==%d\n",newlen);
printf("\n aaaaa the end strlen length === %d\n", strlen(recv_buff_end));
if(strlen(recv_buff_end) > newlen){
recv_buff_end[newlen] = '\0';
}
printf("\n the end length 22222222 === %s\n", recv_buff_end);
printf(" \n newlen newlen newlen ==%d\n",newlen);
printf("\n 3 the end strlen length === %d\n", strlen(recv_buff_end));
fflush(stdin);
fflush(stdout);
if(recv_buff_end != NULL){
free(recv_buff_end);
recv_buff_end = NULL;
}
fclose(file); // 关闭文件
return 0;
}
04-27
3478

10-15
1100
