| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 280 人关注过本帖
标题:验证检查文件名是否合法有效的C++代码源码
只看楼主 加入收藏
wsgsoft
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2019-12-9
收藏
 问题点数:0 回复次数:0 
验证检查文件名是否合法有效的C++代码源码
本篇文章属于《518抽奖软件开发日志》系列文章的一部分。

我在开发《518抽奖软件》(www.)的时候,有时候需要检查输入的是否是合法的文件名,文件名是否含不可打印字符等。代码如下:
程序代码:
//-------------------------------------
//-1: 含不可打印字符
// 0:无效
// 1: 有效
//-------------------------------------
int Tapp::is_validFlnm(const WCHAR* name)
{
    if (!name || *name == 0) return 0;
    int len = 0;
    for (int i = 0; 1; i++)
    {
        if (name[i] == 0) {
            len = i;
            break;
        }
        if (name[i] == L'\\' || name[i] == L'/' || name[i] == L':' ||
            name[i] == L'*' || name[i] == L'?' || name[i] == L'\"' ||
            name[i] == L'<' || name[i] == L'>' || name[i] == L'|') return 0;

        WORD type = 0;
        GetStringTypeW(CT_CTYPE1, &name[i], 1, &type);
        if (type & C1_CNTRL) return -1;
    }
    if (name[len - 1] == L'.' || name[len - 1] == L' ' || name[0] == L' ')
        return 0;
    return 1;
}
搜索更多相关主题的帖子: 是否 return name 文件名 || 
2023-09-15 12:56
快速回复:验证检查文件名是否合法有效的C++代码源码
数据加载中...
 
   



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

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