(华为OJ)C 语言—中级  简单错误记录

本文介绍如何在C语言中实现错误记录功能,包括限制错误记录数量、处理重复错误、截断长文件名及处理带路径的输入。采用结构体存储错误信息,并通过指针数组进行操作,避免使用链表的复杂性。代码实现中包含错误计数与查重逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
题目要求:
1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;
2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;
3、 输入的文件可能带路径,记录文件名称不能带路径。
解题思路:
1、首先定义一个结构体,用来存放文件名和行数还有第几个错误
2、循环记录,
利用while ( getchar() != ‘\n’ ),来判断何时结束输入,通过输入的第一个字符是不是回车来结束循环
3、可以用链表来存储多个结构体(比较繁琐),这里我用的结构体数组(指针数组)方便操作一些
4、分离地址、文件名、行数
5、查重
详细见代码:

/************************************************************************
*      文件名:errorlog
*      文件功能描述:简单错误记录
*      文件作者名:Mr_han QQ:785937095
*      说明:
*       1、记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;
*       2、超过16个字符的文件名称,只记录文件的最后有效16个字符;
*       3、输入的文件可能带路径,记录文件名称不能带路径。
**************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define LONG long
#define CHAR char
#define N    128
#define M    16

/*定义一个结构体*/
t
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值