【CCFCSP】201604-3 路径解析

本试题考察字符串处理能力,涉及路径解析。题目要求读入当前目录,处理相对路径,并规范化路径。处理过程中,需删除重复的'/',移除'//',处理'/*/'形式表示回溯上一级目录的情况,以及结尾非根目录且带'/'的多余符号。

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

试题编号: 201604-3
试题名称: 路径解析
时间限制: 1.0s
内存限制: 256.0MB

//参考了别人的博客

本题主要考察对字符串的修改操作。可以用string保存路径信息,再使用string的类函数进行操作。
首先读入当前目录,要注意在之后的P行路径中的相对路径表示的是相对初始当前目录的路径,而不是上一次的结果目录。如果读入的是相对路径,可以直接把初始目录和相对路径拼接后的路径当做需要正规化的路径。
然后对路径修改。字符串中子串或字符的删除可以直接用erase函数实现。首先删除字符串中重复的“/”。然后考虑”//”形式,这个符号不会对之前和之后的路径产生影响,所以直接删除。再考虑”/*/”形式,代表回到上一目录,所以处理时删除这一段以及上一段的目录,(如果在它之前是根目录,只需删除这一段)。如果最后的目录不是根目录,且结尾带有”/”,则需要进行删除。

#include <iostream>
#include <string>
using namespace std;
int main() {
    int P;
    string cur,s;//cur保存当前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值