Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
【Ctrl鍵無效之解決辦法】
有時(shí)我們會碰到這樣的問題,比如CTRL+C(復(fù)制),CTRL+V(粘貼)CTRL+A(全選)等一系列和CTRL鍵有關(guān)的命令都會失效,這時(shí)你只需到OP選項(xiàng)里調(diào)一下。
操作:OP(選項(xiàng))-用戶系統(tǒng)配置-WINDOWS標(biāo)準(zhǔn)加速鍵(打上勾),標(biāo)準(zhǔn)加速鍵打上勾后,和CTRL鍵有關(guān)的命令則有效,反之失靈。
【圖形里的圓不圓了怎么辦】
經(jīng)常做圖的人都會有這樣的體會,所畫的圓都不圓了,當(dāng)然,學(xué)過素描的人都知道,圓是有很多折線組合而成,這里就不多說了,一個(gè)命令搞定它,命令:RE 空格(重生成即可)。
【快速找回最近刪除的物體】
很帥氣地刪除了一個(gè)自以為不再需要的物體,執(zhí)行N個(gè)操作之后,覺得還是之前刪除的那個(gè)好。可是天下有后悔藥么?算了,好馬不吃回頭草,還是直接ctrl+z撤銷吧,然后重來一遍。其實(shí)cad中可以快速找回的。
※ 刪除某一個(gè)對象后再次執(zhí)行數(shù)次操作后,輸入命令oops,可以快速找回上一次(最近)刪除的對象。
【CAD中鏡像過來的文字是倒的怎么辦?】
在CAD中選擇圖形進(jìn)行鏡像時(shí),如果圖形中包含文字,使用鏡像命令后文字默認(rèn)保持原有狀態(tài),然而有時(shí)候我們也希望是倒著的,所以CAD針對文字鏡像進(jìn)行了專門的處理,并提供了一個(gè)變量控制,常規(guī)狀態(tài)下,文字鏡像時(shí)不翻轉(zhuǎn),但有特殊需要時(shí)也可以讓文字跟圖形一樣翻轉(zhuǎn)。控制文字鏡像的變量是,當(dāng)值為0時(shí),可保持鏡像過來的字體不旋轉(zhuǎn),為1時(shí),文字會按實(shí)際進(jìn)行鏡像。
※ 設(shè)置方法:直接在命令欄輸入 回車,根據(jù)需要輸入0或1(0文字不鏡像;1文字鏡像),輸入MI鏡像指令就OK了。
【CAD命令三鍵還原】
如果CAD里的系統(tǒng)變量被人無意更改,或一些參數(shù)被人有意調(diào)整了怎么辦,這時(shí)不需重裝,也不需要一個(gè)一個(gè)地改。
※ 操作方法:OP選項(xiàng)-配置-重置,即可恢復(fù) 。但恢復(fù)后,有些選項(xiàng)還需要一些調(diào)整,例如十字光標(biāo)的大小等。
【如何保存圖層模板?】
如想把圖層,標(biāo)注,打印都設(shè)置好了保存起來~ 方便下次打開直接使用,如何操作呢?
※ 操作方法:新建一個(gè)CAD文檔,把圖層,標(biāo)注樣式等等都設(shè)置好后另存為DWT格式(CAD的模板文件)。在CAD安裝目錄下找到DWT模板文件放置的文件夾,把剛才創(chuàng)建的DWT文件放進(jìn)去,以后使用時(shí),新建文檔時(shí)提示選擇模板文件選那個(gè)就好了。或者,把那個(gè)文件取名為acad.dwt(CAD默認(rèn)模板),替換默認(rèn)模板,以后只要打開就可以了。
【MA刷線型不好用怎么辦?】
有時(shí)候用MA刷物體的時(shí)候,命令不產(chǎn)生效果,不能刷線型或顏色等,需要操作:MA--選中源對象-- S設(shè)置 彈出選項(xiàng)版把想刷地打上勾即可。
【cad固定保存版本】
我們都知道cad有不同版本,低版本的cad打不開高版本的文件,因?yàn)閏ad版本只向下兼容。為了避免高版本的文件能在低版本cad中打開,就需我們保存文件時(shí)選擇版本。如何固定每次保存都一樣呢?
※ 操作方法:op--打開和保存--另存為2014格式(選擇一個(gè)低版本的格式即可),這樣用2014以上的版本都可以打開了,方便操作。
DSP學(xué)習(xí) -- Visual Studio 操作
int fprintf(FILE * stream, const char * format, …);
函數(shù)說明:
fprintf()會根據(jù)參數(shù)format 字符串來轉(zhuǎn)換并格式化數(shù)據(jù), 然后將結(jié)果輸出到參數(shù)stream 指定的文件中, 直到出現(xiàn)字符串結(jié)束(‘\0’)為止。
返回值:
關(guān)于參數(shù)format 字符串的格式請參考printf(). 成功則返回實(shí)際輸出的字符數(shù), 失敗則返回-1, 錯(cuò)誤原因存于errno 中.
參數(shù):
stream – 這是指向 FILE 對象的指針,該 FILE 對象標(biāo)識了流。
format – 這是 C 字符串,包含了要被寫入到流 stream 中的文本。它可以包含嵌入的 format 標(biāo)簽,format 標(biāo)簽可被隨后的附加參數(shù)中指定的值替換,并按需求進(jìn)行格式化。
//示例一 fprintf 函數(shù)
#include
int main()
{
FILE *p_file = fopen("b.txt","w");
if(p_file)
{ //fprintf函數(shù)可以把數(shù)據(jù)按照格式記錄到文本文件中
fprintf(p_file,"%c,%g,%d\n",'c',3.14,46);
fclose(p_file);
p_file=NULL;
}
return 0;
}
查看 b.txt
# cat b.txt
c,3.14,46
二、預(yù)處理
參看:C語言再學(xué)習(xí) – C 預(yù)處理器
1、#define 用法
2、#include 用法
3、#if #endif 用法
三、標(biāo)準(zhǔn)I/O
參看:UNIX再學(xué)習(xí) – 標(biāo)準(zhǔn)I/O
參看:Stream I/O
1、打開流
參看:fopen, _wfopen
FILE *fopen(const char *path, const char *mode);
mode 方式:
2、讀和寫流 (文件輸入/輸出)
一旦打開了流,則可在 3 種不同類型的非格式化 I/O 中進(jìn)行選擇,對其進(jìn)行讀、寫操作。
(1)每次一個(gè)字符的 I/O。
一次讀或?qū)懸粋€(gè)字符,如果流是帶緩沖的,則標(biāo)準(zhǔn) I/O 函數(shù) fgetc fputc處理所有緩沖。
(2)每次一行的 I/O。
如果想要一次讀或?qū)懸恍校瑒t使用 fgets 和 fputs。每行都以一個(gè)換行符終止。當(dāng)調(diào)用 fgets 時(shí),應(yīng)說明能處理的最大行長。
(3)直接 I/O。
fread 和 fwrite 函數(shù)支持這種類型的 I/O。每次 I/O 操作讀或?qū)懩撤N數(shù)量的對象,而每個(gè)對象具有指定的長度。這兩個(gè)函數(shù)常用于從二進(jìn)制文件中每次讀或?qū)懸粋€(gè)結(jié)構(gòu)。
3、定位流
int fseek(FILE *stream, long offset, int );
重定位流(數(shù)據(jù)流/文件)上的文件內(nèi)部位置指針
注意:文件指針指向文件/流。位置指針指向文件內(nèi)部的字節(jié)位置,隨著文件的讀取會移動,文件指針如果不重新賦值將不會改變或指向別的文件。
函數(shù)設(shè)置文件指針stream的位置。如果執(zhí)行成功,stream將指向以(偏移起始位置:文件頭0(),當(dāng)前位置1(),文件尾2())為基準(zhǔn),偏移offset(指針偏移量)個(gè)字節(jié)的位置。如果執(zhí)行失敗(比如offset超過文件自身大小),則不改變stream指向的位置。
四、文件夾操作
查看 tchar.h
1、(), (), () 查看路徑下文件夾和文件
參看: Search
讀取文件可以采用幾個(gè)函數(shù)分別為,、、。其中還要借助結(jié)構(gòu)體 struct ,主要用來存儲各種文件的信息。
struct _finddata64i32_t {
unsigned attrib;
__time64_t time_create; /* -1 for FAT file systems */
__time64_t time_access; /* -1 for FAT file systems */
__time64_t time_write;
_fsize_t size;
char name[260];
結(jié)構(gòu):
attrib
文件屬性。
time_t
文件創(chuàng)建時(shí)間(對于FAT文件系統(tǒng),為-1L)。此時(shí)間以UTC格式存儲。要轉(zhuǎn)換為當(dāng)?shù)貢r(shí)間,請使用 。
time_t
上次文件訪問的時(shí)間(對于FAT文件系統(tǒng),該時(shí)間為-1L)。此時(shí)間以UTC格式存儲。要轉(zhuǎn)換為當(dāng)?shù)貢r(shí)間,請使用 。
time_t
上次寫入文件的時(shí)間。此時(shí)間以UTC格式存儲。要轉(zhuǎn)換為當(dāng)?shù)貢r(shí)間,請使用 。
size
文件長度,以字節(jié)為單位。
char name[ ]
匹配文件或目錄的名稱,以null終止,不帶路徑。
您不能指定目標(biāo)屬性(例如)來限制查找操作。這些屬性attrib在結(jié)構(gòu)的字段中返回,并且可以具有以下值(在IO.h中定義)。用戶不應(yīng)依賴這些作為該attrib字段可能的唯一值。
其中文件的屬性,分別有以下幾種:
_A_ARCH
存檔。每當(dāng)通過BACKUP命令更改和清除文件時(shí)設(shè)置。值:0x20。
隱藏文件。除非使用/ AH選項(xiàng),否則通常不會在DIR命令中看到。返回有關(guān)普通文件和具有此屬性的文件的信息。值:0x02。
正常。文件沒有設(shè)置其他屬性,可以不受限制地讀取或?qū)懭胛募V担?x00。
只讀。無法打開文件進(jìn)行寫入,也無法創(chuàng)建具有相同名稱的文件。值:0x01。
子目錄。值:0x10。
系統(tǒng)文件。除非使用/ A或/ A:S選項(xiàng),否則通常在DIR命令中看不到。值:0x04。
示例:
使用do while循環(huán)可還行。
void getAllFiles(const string& path, vector& files) {
//文件句柄
intptr_t hFile = 0;//intptr_t:x86編譯時(shí)int,X64時(shí)long long
//文件信息
struct _finddata_t fileinfo; //文件信息讀取結(jié)構(gòu)
string p; //string一個(gè)賦值函數(shù):assign(str):把str拷貝給p,append(str):在字符串結(jié)尾追加str
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)//"*"為通配符,匹配所有字符串 {
do
{
if ((fileinfo.attrib & _A_SUBDIR)) { //比較文件類型是否是文件夾
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name));//子文件夾路徑
getAllFiles(p.assign(path).append("\\").append(fileinfo.name), files);//查找子文件夾下的所有文件信息
}
}
else {
files.push_back(p.assign(path).append("\\").append(fileinfo.name));//文件路徑
}
}
while (_findnext(hFile, &fileinfo) == 0); //尋找下一個(gè),成功返回0,否則-1
_findclose(hFile);
}
}
2、文件夾操作 創(chuàng)建文件夾: _mkdir()
參看:_mkdir, _wmkdir
該_mkdir函數(shù)創(chuàng)建一個(gè)具有指定一個(gè)新的目錄目錄名。 _mkdir每次調(diào)用只能創(chuàng)建一個(gè)新目錄,因此只有dirname的最后一個(gè)組件才能命名新目錄。_mkdir不轉(zhuǎn)換路徑定界符。在Windows NT中,反斜杠(\)和正斜杠(/)都是運(yùn)行時(shí)例程中字符串中的有效路徑定界符。
// crt_makedir.c

#include
#include
#include
int main( void )
{
if( _mkdir( "\\testtmp" ) == 0 )
{
printf( "Directory '\\testtmp' was successfully created\n" );
system( "dir \\testtmp" );
if( _rmdir( "\\testtmp" ) == 0 )
printf( "Directory '\\testtmp' was successfully removed\n" );
else
printf( "Problem removing directory '\\testtmp'\n" );
}
else
printf( "Problem creating directory '\\testtmp'\n" );
}
刪除文件夾: _rmdir()
_rmdir, _wrmdir
該_rmdir函數(shù)刪除指定的目錄目錄名。該目錄必須為空,并且不能為當(dāng)前工作目錄或根目錄。
那么問題來了,如果刪除非空文件夾,該怎么辦呢?
使用:
system(“rd /s/q 對應(yīng)的路徑”);
/s 除目錄本身外,還講刪除指定目錄下的所有子目錄和文件。
/q 安靜模式,帶/s刪除目錄樹時(shí)不需要確認(rèn)。
進(jìn)入文件夾: _chdir()
參看:_chdir, _wchdir
_chdir功能改變當(dāng)前的工作目錄由指定的目錄目錄名。該目錄名稱參數(shù)必須指向現(xiàn)有的目錄。此功能可以更改任何驅(qū)動器上的當(dāng)前工作目錄。如果在dirname中指定了新的驅(qū)動器號,則默認(rèn)驅(qū)動器號也會更改。例如,如果A是默認(rèn)驅(qū)動器號,\ BIN是當(dāng)前工作目錄,則以下調(diào)用更改驅(qū)動器C的當(dāng)前工作目錄,并將C建立為新的默認(rèn)驅(qū)動器:
_chdir("c:\temp");
在路徑中使用可選的反斜杠字符(\)時(shí),必須在C字符串文字中放置兩個(gè)反斜杠(\)以表示單個(gè)反斜杠(\)。
// crt_chdir.c
// arguments: C:\WINDOWS
/* This program uses the _chdir function to verify
that a given directory exists. */
#include
#include
#include
#include
int main( int argc, char *argv[] )
{
if(_chdir( argv[1] ) )
{
switch (errno)
{
case ENOENT:
printf( "Unable to locate the directory: %s\n", argv[1] );
break;
case EINVAL:
printf( "Invalid buffer.\n");
break;
default:
printf( "Unknown error.\n");
}
}
else
system( "dir *.exe");
}
文件夾是否存在: _access();
參看:_access,
頭文件:
函數(shù)原型:int _access(const char *, int mode);
參數(shù): 為文件路徑或目錄路徑 mode 為訪問權(quán)限(在不同系統(tǒng)中可能用不能的宏定義重新定義)
返回值:如果文件具有指定的訪問權(quán)限,則函數(shù)返回0;如果文件不存在或者不能訪問指定的權(quán)限,則返回-1.
備注:當(dāng)為文件時(shí),_access函數(shù)判斷文件是否存在,并判斷文件是否可以用mode值指定的模式進(jìn)行訪問。當(dāng)為目錄時(shí),_access只判斷指定目錄是否存在,在Windows NT和Windows 2000中,所有的目錄都只有讀寫權(quán)限。
mode的值和含義如下所示:
00——只檢查文件是否存在
02——寫權(quán)限
04——讀權(quán)限
06——讀寫權(quán)限
#include
#include
#include
int main()
{
if ((_access(“IsExist.txt”, 0)) != -1)
{
printf(“File IsExist.txt exists.n”);
if ((_access(“IsExist.txt”, 2)) != -1)
printf(“File IsExist.txt does not have write permission.\n”);
}
return 0;
}
3、system 執(zhí)行命令
參看:system,
所述系統(tǒng)功能通過命令到命令解釋器,它執(zhí)行字符串作為操作系統(tǒng)命令。系統(tǒng)使用COMSPEC和PATH環(huán)境變量來定位命令解釋器文件CMD.exe。如果command為NULL,則該函數(shù)僅檢查命令解釋器是否存在。
您必須使用fflush或顯式刷新,或在調(diào)用system之前關(guān)閉任何流。
示例:
使用system對文本文件進(jìn)行TYPE。
// crt_system.c
#include
int main( void )
{
system( "type crt_system.txt" );
}
上面用到了兩個(gè)指令:
system("rd /s/q 對應(yīng)的路徑");
system( "type crt_system.txt" );
這些都是DOS指令,查看 help
C:\Users\Administrator>help
有關(guān)某個(gè)命令的詳細(xì)信息,請鍵入 HELP 命令名
ASSOC 顯示或修改文件擴(kuò)展名關(guān)聯(lián)。
ATTRIB 顯示或更改文件屬性。
BREAK 設(shè)置或清除擴(kuò)展式 CTRL+C 檢查。
BCDEDIT 設(shè)置啟動數(shù)據(jù)庫中的屬性以控制啟動加載。
CACLS 顯示或修改文件的訪問控制列表(ACL)。
CALL 從另一個(gè)批處理程序調(diào)用這一個(gè)。
CD 顯示當(dāng)前目錄的名稱或?qū)⑵涓摹?CHCP 顯示或設(shè)置活動代碼頁數(shù)。
CHDIR 顯示當(dāng)前目錄的名稱或?qū)⑵涓摹?CHKDSK 檢查磁盤并顯示狀態(tài)報(bào)告。
CHKNTFS 顯示或修改啟動時(shí)間磁盤檢查。
CLS 清除屏幕。

CMD 打開另一個(gè) Windows 命令解釋程序窗口。
COLOR 設(shè)置默認(rèn)控制臺前景和背景顏色。
COMP 比較兩個(gè)或兩套文件的內(nèi)容。
COMPACT 顯示或更改 NTFS 分區(qū)上文件的壓縮。
CONVERT 將 FAT 卷轉(zhuǎn)換成 NTFS。你不能轉(zhuǎn)換
當(dāng)前驅(qū)動器。
COPY 將至少一個(gè)文件復(fù)制到另一個(gè)位置。
DATE 顯示或設(shè)置日期。
DEL 刪除至少一個(gè)文件。
DIR 顯示一個(gè)目錄中的文件和子目錄。
DISKPART 顯示或配置磁盤分區(qū)屬性。
DOSKEY 編輯命令行、撤回 Windows 命令并
創(chuàng)建宏。
DRIVERQUERY 顯示當(dāng)前設(shè)備驅(qū)動程序狀態(tài)和屬性。
ECHO 顯示消息,或?qū)⒚罨仫@打開或關(guān)閉。
ENDLOCAL 結(jié)束批文件中環(huán)境更改的本地化。
ERASE 刪除一個(gè)或多個(gè)文件。
EXIT 退出 CMD.EXE 程序(命令解釋程序)。
FC 比較兩個(gè)文件或兩個(gè)文件集并顯示
它們之間的不同。
FIND 在一個(gè)或多個(gè)文件中搜索一個(gè)文本字符串。
FINDSTR 在多個(gè)文件中搜索字符串。
FOR 為一組文件中的每個(gè)文件運(yùn)行一個(gè)指定的命令。
FORMAT 格式化磁盤,以便用于 Windows。
FSUTIL 顯示或配置文件系統(tǒng)屬性。
FTYPE 顯示或修改在文件擴(kuò)展名關(guān)聯(lián)中使用的文件
類型。
GOTO 將 Windows 命令解釋程序定向到批處理程序
中某個(gè)帶標(biāo)簽的行。
GPRESULT 顯示計(jì)算機(jī)或用戶的組策略信息。
GRAFTABL 使 Windows 在圖形模式下顯示擴(kuò)展
字符集。
HELP 提供 Windows 命令的幫助信息。
ICACLS 顯示、修改、備份或還原文件和
目錄的 ACL。
IF 在批處理程序中執(zhí)行有條件的處理操作。
LABEL 創(chuàng)建、更改或刪除磁盤的卷標(biāo)。
MD 創(chuàng)建一個(gè)目錄。
MKDIR 創(chuàng)建一個(gè)目錄。
MKLINK 創(chuàng)建符號鏈接和硬鏈接
MODE 配置系統(tǒng)設(shè)備。
MORE 逐屏顯示輸出。
MOVE 將一個(gè)或多個(gè)文件從一個(gè)目錄移動到另一個(gè)
目錄。
OPENFILES 顯示遠(yuǎn)程用戶為了文件共享而打開的文件。
PATH 為可執(zhí)行文件顯示或設(shè)置搜索路徑。
PAUSE 暫停批處理文件的處理并顯示消息。
POPD 還原通過 PUSHD 保存的當(dāng)前目錄的上一個(gè)
值。
PRINT 打印一個(gè)文本文件。
PROMPT 更改 Windows 命令提示。
PUSHD 保存當(dāng)前目錄,然后對其進(jìn)行更改。
RD 刪除目錄。
RECOVER 從損壞的或有缺陷的磁盤中恢復(fù)可讀信息。
REM 記錄批處理文件或 CONFIG.SYS 中的注釋(批注)。
REN 重命名文件。
RENAME 重命名文件。
REPLACE 替換文件。
RMDIR 刪除目錄。
ROBOCOPY 復(fù)制文件和目錄樹的高級實(shí)用工具
SET 顯示、設(shè)置或刪除 Windows 環(huán)境變量。
SETLOCAL 開始本地化批處理文件中的環(huán)境更改。
SC 顯示或配置服務(wù)(后臺進(jìn)程)。
SCHTASKS 安排在一臺計(jì)算機(jī)上運(yùn)行命令和程序。
SHIFT 調(diào)整批處理文件中可替換參數(shù)的位置。
SHUTDOWN 允許通過本地或遠(yuǎn)程方式正確關(guān)閉計(jì)算機(jī)。
SORT 對輸入排序。
START 啟動單獨(dú)的窗口以運(yùn)行指定的程序或命令。
SUBST 將路徑與驅(qū)動器號關(guān)聯(lián)。
SYSTEMINFO 顯示計(jì)算機(jī)的特定屬性和配置。
TASKLIST 顯示包括服務(wù)在內(nèi)的所有當(dāng)前運(yùn)行的任務(wù)。
TASKKILL 中止或停止正在運(yùn)行的進(jìn)程或應(yīng)用程序。
TIME 顯示或設(shè)置系統(tǒng)時(shí)間。
TITLE 設(shè)置 CMD.EXE 會話的窗口標(biāo)題。
TREE 以圖形方式顯示驅(qū)動程序或路徑的目錄
結(jié)構(gòu)。
TYPE 顯示文本文件的內(nèi)容。
VER 顯示 Windows 的版本。
VERIFY 告訴 Windows 是否進(jìn)行驗(yàn)證,以確保文件
正確寫入磁盤。
VOL 顯示磁盤卷標(biāo)和序列號。
XCOPY 復(fù)制文件和目錄樹。
WMIC 在交互式命令 shell 中顯示 WMI 信息。
有關(guān)工具的詳細(xì)信息,請參閱聯(lián)機(jī)幫助中的命令行參考。
如果還想繼續(xù)查看命令詳細(xì)信息: help + 命令
C:\Users\Administrator>help RD
刪除一個(gè)目錄。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目錄本身外,還將刪除指定目錄下的所有子目錄和
文件。用于刪除目錄樹。
/Q 安靜模式,帶 /S 刪除目錄樹時(shí)不要求確認(rèn)
五、freopen
參看:UNIX再學(xué)習(xí) – 標(biāo)準(zhǔn)I/O
將printf 內(nèi)容保存到abc.txt
//示例二 freopen 函數(shù)
#include
#include
int main (void)
{
FILE*fp = NULL;
fp = freopen("abc.txt", "w", stdout);
if(NULL == fp)
perror("fail to freopen"), exit (1);
printf ("hello world!\n");
fclose (stdout);
fclose (fp);
fp = NULL;
return 0;
}
查看 abc.txt
# cat abc.txt
hello world!
六、編譯生成的應(yīng)用以管理員身份運(yùn)行
屬性->鏈接器->清單文件->UAC執(zhí)行級別
選擇 (/level=‘’)
*請認(rèn)真填寫需求信息,我們會在24小時(shí)內(nèi)與您取得聯(lián)系。