詳解C 不能用於檔名的字元

2022-09-26 03:36:08 字數 1087 閱讀 1333

在 windows 有一些字元是不能作為檔名,嘗試重新命名乙個檔案,輸入/ 就可以看到windows 提示的不能作為檔名的字元

那麼具體是包括哪些符號不能作為檔名?

上面這些字元不能用來檔名和資料夾名

而且在 windows 的要求,檔案是需要有檔名的,雖然你也可以建立.file這樣的檔案,但是使用者是難以自己輸入這樣的檔名。

之外還有一些檔名是保留,不能建立這樣的檔名

con, prn, aux, clock$, nul

com0, com1, com2, com3, com4, com5, com6, com7, com8, com9

lpt0, lpt1, lpt2, lpt3, lpt4, lpt5, lpt6, lpt7, lpt8, and lpt9.

嘗試新建乙個文字,然後把他檔名命名為上面的任意乙個,基本windows會說不能把檔案命名

那麼是不是把這些字串拿出來判斷?實際上微軟已經做了這個了,因為在不同的系統,可能之後會新增新的字串,所以最好不要自己寫。

可以使用微軟給的函式system.io.path.getinvalidfilenamechars ,下面的**可以直接使用

public static string makevalidfilename(string text, string replacement = "_")

else

}return str.tostring();

}如果確實需要顯示檔名,請使用下面**

public static string getsafefilename(string arbitrarystring)

i = replaceindex + 1;

replaceindex = arbitrary程式設計客棧string.indexofany(invalidchars, i);

} while (replaceindex != -1);

r.append(arbitrarystri i, arbitrarystring.length - i);

return r.tostring();}總結

本文標題: 詳解c# 不能用於檔名的字元

本文位址:

上傳的檔名不能用中文的問題

找到你的tomcat安裝目錄,比如我的是安裝在d盤下,那就找到d tomcat tomcat 5.5 conf目錄下,此目錄下有乙個tomcat的配置檔案 server.xml,用記事本開啟此xml配置檔案,然後找到下面這兩段 2.在這兩段 的末尾統統加上 uriencoding utf 8 這句來...

C 去除檔名空格字元

去除檔名的空格.cpp 此檔案包含 main 函式。程式執行將在此處開始並結束。include pch.h include include include pragma warning disable 4996 include includeusing namespace std char strr...

C語言 列印呼叫函式的行號,檔名 函式名用於除錯

c語言為了除錯方便,經常需要在故障處輸出問題描述,此時能夠獲得呼叫函式的相關資訊,就會很方面找到問題所在,現在將實現方法描述如下 第一種方法 void debugout void 當該函式被呼叫時,輸出的是本函式的檔案檔名 函式名 函式所在行號,無法定位問題所在。方法二 define debug o...