GetModuleFileName 獲取路徑輸出只顯示 碟符的問題
主要的錯誤原因在於 Unicode 和 ascii 不同的輸出方式導致,錯因 : TCHAR 是nicode 版本的定義,需採用 wprintf or std::wcout 輸出對應的字串,用 printf 輸出的路徑就會只有碟符。
unicode 和 ascii 對應不同的函式實現。
printf 和 wprintf 分別對應 asiic 和 unicode 版本的輸出函式,不同的編碼要採用對應的輸出形式。
// 測試環境:vs2010 #include<windows.h> TCHAR buffer[MAX_PATH]; // MAX_PATH 預設巨集 int len = GetModuleFileName( NULL, buffer, MAX_PATH ); printf("[%d]\n",len); // 不可用 ascii 來輸出 unicode 的字串,不然無法得到結果 wprintf(L"[%ls]\n",buffer); std::wcout << buffer << std::endl;
相關推薦
GetModuleFileName 獲取路徑輸出只顯示 碟符的問題
主要的錯誤原因在於 Unicode 和 ascii 不同的輸出方式導致,錯因 : TCHAR 是nicode 版本的定義,需採用 wprintf or std::wcout 輸出對應的字串,用 printf 輸出的路徑就會只有碟符。 unicode 和 as
U盤插入電腦有明顯的響聲但是不顯示碟符
這可能是眾多情況中的一種,如果有小夥伴遇到這種情況但是這種解決方式無效,採用了其他方法解決的,歡迎私信,有機會的話我想補充得更完整一點,謝啦!!☆⌒(*^-゜)v 問題描述: U盤插入電腦後,有明顯的響聲,但是桌面及裝置驅動器都不顯示碟符 可能原因:
解決插入U盤不顯示碟符問題,最有效,最簡單!!!
一、概述 u盤插入電腦突然間就不顯示碟符了,但是可以看到U盤已插入。上網找了搜了一下,有許多辦法解決。大約有重新安裝驅動、分配碟符、清理登錄檔等…但是這些都是假的,毫無作用,可能是個人的電腦不同,引發的原因也不同。找了許久終於找到了一個最有效,最簡單的辦法。 二、操作 1、快
行動硬碟不顯示碟符修復方法
1、首先,點選“開始”選單,在選單中找到“執行”選項,單擊開啟,如圖所示。 2、接著,在彈出的對話方塊中輸入“cmd”指令,點選“確定”按鈕,如圖所示。 3、在彈出的黑框中,我們輸入“chkdsk 行動硬碟所在碟符: /R”,並單擊回車確定,如圖所示。這裡損壞的硬碟是H盤,因此輸入的
VC 獲取磁碟碟符剩餘空間,CJSON格式輸出
void GetPlace(char *datajson) { ULARGE_INTEGER nFreeBytesAvailable; ULARGE_INTEGER nTotalNumberOfBytes; ULARGE_INTEGER nTota
c++判斷硬碟是否連線、修改指定碟符、讀取配置檔案、獲取exe路徑
系統:win7 64 編譯器:vs2010 mfc對話方塊程式。 工程名:fixde 語言:c++ 涉及函式: GetPrivateProfileString 讀取配置檔案內容,型別為string GetDriveType 獲取某驅動器狀態 GetVolum
C/C++解析檔案路徑,獲取碟符、路徑、檔名及副檔名
經常要處理跟檔案相關的東西,免不了要做一些解析路徑以及檔名副檔名的工作。 以前傻傻的自己去strstr斜槓,然後慢慢匹配解析,後來才發現有API做好了相應的工作了。。。 函式原型: void _splitpath( constchar *path, char
C# 根據磁碟碟符獲取磁碟儲存空間
本章講述:根據磁碟碟符獲取磁碟總的儲存容量和可用儲存容量; /// 獲取指定驅動器的空間總大小(單位為B) /// </summary> /// <param name="str_HardDiskName">只需輸入代表驅動器的字母即可 </param>
linux c程式實現獲取U盤的名字(卷標/碟符)
一、U盤的卷標 在linux系統下,顯示的U盤的卷標如下圖所示: 在linux系統下,顯示的U盤的碟符如下圖所示: 獲取U盤的卷標是通過命令blkid -s LABEL來實現,執行完shell命令,在標準輸出中就顯示 /dev/sda1: LABEL=ESD-USB 其中 /de
windows 批處理命令獲取當前碟符和當前目錄
批處理命令獲取當前碟符和當前目錄 %~d0 是當前碟符 %cd% 是當前目錄 可以用echo %cd%進行列印測試 以下例子是命令列編譯Visual Studio編寫的程式: @echo off set b=%cd% //將當前目錄儲存到引數b中,等號前後不要有空格 C: cd program
C#通過碟符獲取剩餘空間
public static long GetHardDiskSpace(string str_HardDiskName) { long totalSize = 0; str_HardDiskName = str_HardDiskName
Python示例程式碼之獲取Windows碟符
就我所知,目前常見有兩種方式可以獲取作業系統的碟符。 第一種獲取方法 使用os的popen方法,執行wmic命令來獲取,見如下程式碼,但是這種防
用C++程式設計獲取驅動器碟符(一)
首先,一臺機器可能有不止一個CD-ROM驅動器。現在CD-ROM已經是PC機的標準配置,此外再裝個可擦寫的光碟驅動,甚至是DVD都是很常見的事情。不管一臺機器上裝多少個不同的驅動器,如何找到它們呢? 有關驅動器的函式有GetLogicalDrives,GetLogical
NSIS 獲取最大容量碟符
!include "FileFunc.nsh"!include "LogicLib.nsh"OutFile "Demo.exe"SilentInstall silentSection;查詢所有硬碟驅動器(HDD)${GetDrives} "HDD" "FindHDD"MessageBox MB_OK
%cd% 和%~dp0%的區別及cd跨碟符切換路徑問題
在DOS中,有兩個環境變數可以跟當前路徑有關,一個是%cd%, 一個是%~dp0。 (1)%cd%的內容是可以被改變的,其內容為命令的執行路徑或批處理檔案的執行路徑。 (2)%~dp0只可以用在批處理檔案中,它是由它所在的批處理檔案的目錄位置決定的, 是批處理檔案所在的碟符:+路徑. &nb
GetLogicalDriveStrings獲取碟符(包含字元轉換)
GetLogicalDriveStrings獲取碟符例程://函式功能:獲取驅動器 引數:路徑名 void CPicTestDlg::GetLogicalDrives(HTREEITEM hParent) { //獲取系統分割槽驅動器字串資訊 size_t szAllD
如何解決安卓上羊角符只顯示一橫的問題
我們常用的人民幣符號,有兩個:¥¥(如果你看不出區別,複製然後貼上到瀏覽器位址列裡再瞅瞅),前者是全形元,後者是半形元。 二者在不同的機型上表現不一致,比如在錘子 T2、華為 mate 9 pro 和 mi5 上: 機型 效果 T
使用Line Renderer只顯示路徑不移動效果
首先建立一個烘焙過後的場景,這個比較容易,簡單說一下 建立需要的場景,我這裡是測試 設定為Static型別 點選 Bake 接下來給Player掛指令碼 MoveCube using System.Collections; u
C++判斷使用者輸入路徑是否正確(判斷碟符是否存在以及“\”與"/")
直接上程式碼,用了windows.h裡的函式獲取碟符 #include <iostream> #include <Windows.h> #include <string.h> #include <string> #includ
everything設定所有碟符自動更新,避免陌生路徑下不能使用問題
everything好像在安裝後第一次使用時會進行一次掃描,之後如果有新的碟符、檔案新增進來不知道是怎麼個更新策略。但是我們可以通過設定來手動指定需要定時更新的目錄和定時更新週期,這樣如果我們拷貝來一份文件,並且要立即快速搜尋其中某些檔案時,我們需要手動update一下就好