c++ - 当我从文本文件中读取时如何获取 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:我必须逐行阅读,如果行超过 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*
推荐阅读
- python-3.x - 如何在matplotlib中为图形添加背景图片
- rust - 调用函数时移动所有权会复制“self”结构吗?
- sql - INSERT ALL 错误 ORA-02291 完整性约束,但引用了 PK
- python - 在 Keras 中使用 Lambda 层时出现符号张量值错误
- python - 如何检查字符串是否只包含“az”、“AZ”和“0-9”字符
- javascript - 排序比较函数什么都不做。甚至不会打印到日志或错误
- opencv - 在 CV2 中匹配具有不同方向的模板图像
- android - 从 Fragments 检查 ToggleButton
- c# - InvalidOperationException:未指定密钥类型。Microsoft.AspNetCore.ApiAuthorization.IdentityServer.ConfigureSigningCredentials.LoadKey()
- powershell - 如何在 PowerShell 中将字符串作为批处理脚本执行