如何将.txt文件的内容复制到char数组中? void my_read(char*path,int bytes_number,int sockfd) { 文件*fp; int n; 字符缓冲区[缓冲区大小]; 如果(字节数>1000 | |字节数

如何将.txt文件的内容复制到char数组中? void my_read(char*path,int bytes_number,int sockfd) { 文件*fp; int n; 字符缓冲区[缓冲区大小]; 如果(字节数>1000 | |字节数,c,file-io,C,File Io,我需要一个命令来获取第一个字节\u数字字符,并将它们放入数组中 fscanf(fp,“%s”,buffer);此命令将复制整个txt文件 如果我在fscanf中使用“%.*s”,int k缓冲区,则数组的输出是错误的。一些奇怪的输出而不是.txt中的前k个字符可能有帮助: void my_read (char* path, int bytes_number, int sockfd) { FILE* fp; int n; char buffer[BUFFER_SIZE];

我需要一个命令来获取第一个
字节\u数字字符
,并将它们放入数组中

fscanf(fp,“%s”,buffer);
此命令将复制整个txt文件


如果我在
fscanf
中使用
“%.*s”,int k
缓冲区,则数组的输出是错误的。一些奇怪的输出而不是.txt中的前k个字符可能有帮助:

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");

fread
函数应该对您有所帮助。谢谢您!请将其作为答案重新编写,以便我可以将其作为最佳答案。不客气。似乎答案太容易单独发布:)
// 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);