当我从文本文件中读取时如何获取 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*
我正在阅读 .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*