void my_read (char* path, int bytes_number, int sockfd)
{
FILE* fp;
int n;
char buffer[BUFFER_SIZE];
if (bytes_number > 1000 || bytes_number < 0)
{
write (sockfd, "Failure", strlen("Failure"));
return;
}
fp = fopen(path, "r");
我需要一个命令来获取第一个bytes_number chars
并将它们放入数组中。
fscanf(fp, "%s", buffer);
此命令将复制整个txt
如果我在"%.*s", int k
内使用fscanf
缓冲区,则输出到数组是错误的。一些奇怪的输出而不是.txt
答案 0 :(得分:0)
以下代码可能会有所帮助:
// Get the file size
fseek(fp,0,SEEK_END);
size = ftell(fp);
fseek(fp,0,SEEK_SET);
// Read content
read = fread(buffer,1,size,fp);