| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 931 人关注过本帖
标题:求助: 如何判断路径格式是否正确。
只看楼主 加入收藏
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:406
专家分:190
注 册:2021-4-9
结帖率:97.26%
收藏
已结贴  问题点数:20 回复次数:3 
求助: 如何判断路径格式是否正确。
求助: 如何判断路径格式是否正确。

string path0 = "D:\\123\\456";
string path1 = "D:\\123\\456\\";

string path2 = "D:\123\\456";
string path3 = "D:\\123\456";

string path4 = "D:\\\123\\456";
string path5 = "D:\\123\\\456";

只有:path0 和 path1 是正确的。。。
'\' 符号少于2个或多于2个都是错误的。。。。
程序应该如何写?
搜索更多相关主题的帖子: 是否 格式 string 判断 路径 
2022-12-09 01:17
s96281
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:12
帖 子:18
专家分:81
注 册:2022-12-8
收藏
得分:6 
你的字串裡"\\"會被解釋為'\'
例:
程序代码:
#include <stdio.h>

int main() {
    // Write C code here
    char string[] = "D:\\123\\456";
    for (int i = 0; i < strlen(string); i++) {
        putchar(string[i]);
    }

    return 0;
}

/* 輸出
   D:\123\456 */
2022-12-09 01:32
s96281
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:12
帖 子:18
专家分:81
注 册:2022-12-8
收藏
得分:6 
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main() {
    // Write C code here
    char path[100];
    int x = 0;
    int y = 0;
    scanf("%s", &path);
    for (int i = 1; i < strlen(path); i++) {
        if (path[i-1] == '\\' && path[i] == '\\') {
            x++;
        }
        else {
            x = 0;
        }
        if (x > 1 || (path[i] == '\\' && path[i-1] != '\\' && path[i+1] != '\\')) {
            printf("路徑錯誤");
            exit(1);
        }
    }
    printf("路徑正確");
    return 0;
}
2022-12-09 01:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:8 
看起来题主的根结是不明白“转义字符”

源代码中的每一个字符都必须是“可显的(对应着C语言中的isprint)”,不是可显字符怎么用眼睛看?但需要表示的字符未必是“可显的”(比如 垂直制表符)。怎么用“可显的字符”来表达“不可显的字符”?
找一个不常用的字符 --- 比如反斜杠字符“\” --- 给它以特殊的意义,比如不可见的字符 char(1),就用 '\1' 来表示了,……;而 \ 本身呢,就用 \\ 来表示。
详见:https://zh.
所以 "D\\1234" 包含7个字符,分别是 D、\、1、2、3、4、char(0)
而 "D\\\1234" 包含5个字符,分别是 D、\、char(0123)、4、char(0)

我用空格来分割你代码中的字符串"D:\123\\456",则是"D : \123 \\ 4 5 6"
我用空格来分割你代码中的字符串"D:\\\123\\456",则是"D : \\ \123 \\ 4 5 6"
2022-12-09 10:44
快速回复:求助: 如何判断路径格式是否正确。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015677 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved