gpt4 book ai didi

C 计算txt文件一行中的字符数

转载 作者:行者123 更新时间:2023-11-30 19:28:38 25 4
gpt4 key购买 nike

我有一个函数,可以从文本文件中读取字符串并将它们存储在最多 1000 行和 81 列的二维数组中(80 个有用字符和 \0)。

在将文本文件插入数组之前,如何引入检测器来检测该文本文件的单行中有多少个字符?

因为练习表明文本文件每行最多只能有 80 个字符(有用),但我的函数现在所做的是,如果超过 80 个字符,它只会继续读取字符串到下一行数组。如何才能使文本文件中的行在 \n 之前的字符数超过 79 个字符时返回错误消息?

这是我现在读取文件的函数:

int lerficheiro(char texto[MAXLINHAS][MAXCARPORLINHA]) 
{
FILE * fp;
fp = fopen("tudomaiusculas.txt", "r");
if(fp==NULL)
{
printf("Erro ao abrir o ficheiro.");
return (-1);
}
while(!feof(fp))
{
for(int linha = 0; linha < MAXLINHAS; linha++)
{
fgets(texto[linha], MAXCARPORLINHA, fp);
}
}
fclose(fp);
for(int linha = 0; linha < MAXLINHAS; linha++)
{
for(int coluna = 0; coluna < MAXCARPORLINHA; coluna++)
{
if(texto[linha][coluna] >= 97 && texto[linha][coluna] <= 122)
{
printf("O ficheiro contem letras minusculas, a terminar.");
return (-1);
}
}
}
return (1);
}

最佳答案

你可以添加一个计数器,每次将一个字符复制到文件中时在fgets下加1,然后添加一个if语句来打印错误

count++
if(count>=79){
printf("too many characters");
return;
}

关于C 计算txt文件一行中的字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53695805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com