当我从文本文件中读取时如何获取 char[] 的大小

How gets size of char[] when i read from a text file

我正在阅读 .txt 文件。我最多需要将 254 个字符读入 char* 缓冲区,所以我这样做了:

char *buffer = new char[255];
***Some Code***
if (!feof(fichero))
{
    if (fgets(buffer, 254, fichero) != NULL)
    {

如何获取读取缓冲区的大小?现在我正在使用手动方法查找 '\n' 并将其位置用作大小。但是有更好的方法吗? 我现在的代码:

char *buffer = new char[255];
int tamanio;
***more code***
if (!feof(fichero))
{
    if (fgets(buffer, 254, fichero) != NULL)
    {
        //printarCadena(buffer);
        tamanio = limpiarBuffer(buffer);
        printf("Tamanio buffer: %i \n", tamanio);


int Gestor::limpiarBuffer(char* buffer)
{
    int i;
    for(i = 0; i < int(strlen(buffer));i++)
    {
        if(buffer[i] == '\n')
            return i;
    }
    return int(strlen(buffer) - 1);
}

编辑:我必须使用 Char*,大学氛围

Edit2:我必须逐行阅读,如果第 5 行超过 255 个字符,我将阅读为 2 行或更多行

int getSize(char* buffer)
{
    int i;
    for(i = 0; i < int(strlen(buffer));i++)
    {
        if(buffer[i] == '\n')
            return i;
    }
    return strlen(buffer);
}

现在没有其他方法可以处理 char*