1. 程式人生 > >notepad++編輯器開啟一個檔案時,給檔案新增資訊

notepad++編輯器開啟一個檔案時,給檔案新增資訊

最近在Windows平臺上用的notepad++編碼,每次開啟一個檔案時,都是空白的,我希望在我新建一個檔案時,自動新增一些C/C++標頭檔案等的資訊。也找了一些外掛,但是不能用,所以就自己動手做了一個。首先我是把notepad++的路徑新增到path裡,方便程式呼叫。下面是原始碼:

#include <iostream>
#include <cstring>
#include <fstream>
#include <ctime>
#include <io.h>
#include <dirent.h>
#include <cctype>
using namespace std; //寫入標頭檔案和時間,等資訊 void writeStuff(ofstream &file) { //date and time time_t now = time(0); tm *ltm = localtime(&now); file<< "/*" << endl << "*日期:" << ltm->tm_year+1900 << "/" << ltm->tm_mon+1 << "/" << ltm->tm_mday << "/"
<< "\t" << ltm->tm_hour << ":" << ltm->tm_min << ":" << ltm->tm_sec << endl << "*"; file<< "需求:" << endl << "*總結:"<< endl << "*作者:" << "ZH" << endl << "*聯絡:[email protected]
"
<< endl << "*/" << endl << endl << "int main()\n{\n\n\treturn 0;\n}" << endl; } inline void writeCInclude(ofstream &file) { file << "#include <stdio.h>\n" << endl; } inline void writeCppInclude(ofstream &file) { file << "#include <iostream>\n\nusing namespace std\n" << endl; } //判斷字串是否是以flag結尾的 int endOf(const char *string, const char *flag) { int end = strlen(string); if (strcmp(string + end-1, flag) == 0) return 1; else return 0; } //判斷檔案是否已經存在 int ifFileExist(const char *file) { long hFile = 0; struct _finddata_t fileInfo; string pathName, exdName; // \\* 代表要遍歷所有的型別 if ((hFile = _findfirst(pathName.assign(".").append("\\*").c_str(), &fileInfo)) == -1) { return -1; } do { //判斷檔案的屬性是資料夾還是檔案 DIR *pDir; pDir=opendir(fileInfo.name); if (!pDir && strcmp(fileInfo.name, file)==0) { return 1; } } while (_findnext(hFile, &fileInfo) == 0); _findclose(hFile); return 0; } int main(int argc, char *argv[]) { bool flag = true; //用於終止判斷檔案是否存在的迴圈 ofstream file; char command[1024];//用於在控制檯輸出呼叫文字編輯器的命令 if (strcmp(argv[0], "mkfile") != 0) return -1; //判斷檔案是否存在 while (flag) { char filename[10]; char echo[3]; if (ifFileExist(argv[1])) { cout << "The file is exist, do you want to cover it?[YES][NO]"; cin >> echo; if (strcmp(echo, "YES")==0 || strcmp(echo, "yes")==0 || strcmp(echo, "Y")==0 || strcmp(echo, "y")==0) { flag = false; } else if (strcmp(echo, "NO")==0 || strcmp(echo, "no")==0 || strcmp(echo, "N")==0 || strcmp(echo, "n")==0) { cout << "please enter filename again. "; cin >> filename; strcpy(argv[1], filename); continue; } } flag = false; } //判斷檔案型別,並新增適當的資訊 if (endOf(argv[1], "p")) { file.open(argv[1], ios::trunc); writeCppInclude(file); writeStuff(file); } else if(endOf(argv[1], "c")) { file.open(argv[1], ios::trunc); writeCInclude(file); writeStuff(file); } else { cout << "usage: mkfile filename" << endl; } //啟動文字編輯器 sprintf(command, "notepad++ %s", argv[1]); system(command); file.close();//!!!!記得關閉流 return 0; }

有需要的可以點選這裡下載,也可以進行留言評論,單獨發給你。
需要注意的是,這個是控制檯程式,你需要開啟cmd來執行,用法是mkfile加上你要建立的檔名(中間有空格),這裡我只寫了C/C++部分,其他的,有需求的,可以自己下載原始碼自己實現,各部分程式碼都有註釋,相信都能看懂。
這個小程式目前還只能建立一個檔案並判斷這個檔案是否已經存在,存在的話,需要重新輸入檔名。
這篇部落格會隨著學習的深入,不斷更新。
我也是個剛學的菜鳥,大家覺得有更好的實現方式,或者更好的方法,大家可以一起討論。

相關推薦

notepad++編輯開啟一個檔案檔案新增資訊

最近在Windows平臺上用的notepad++編碼,每次開啟一個檔案時,都是空白的,我希望在我新建一個檔案時,自動新增一些C/C++標頭檔案等的資訊。也找了一些外掛,但是不能用,所以就自己動手做了一個。首先我是把notepad++的路徑新增到path裡,方便程

刪除檔案提示檔案已在另一個程式中開啟而導致檔案無法刪除怎麼辦

今天下載的一個檔案恢復軟體工具,之後不好用想刪掉就出現上面情況,怎麼刪啊,刪除時候就提示“檔案已經在另一個程式中開啟”,有圖,系統win7, 由於檔案正在開啟著,所以無法刪除,解決辦法如下: 1:關閉開啟該檔案的程式,如果不知道該程式被誰佔用,可以通過工作管理員-->

LaTeX TeXworks編輯插入.eps圖片無法識別的副檔名eps

LaTeX TeXworks編輯器有許多編譯器,預設所用的編譯器是pdfLaTeX+MakeIndex+BibTex,由於pdfLaTeX不支援.eps圖片。 簡單迅速的解決方法是: 切換TeXworks編輯器的編譯器,切換成XeLaTeX+MakeIndex+

關於火狐瀏覽器下載檔案中文檔案亂碼問題的處理方案。

//設定要下載的檔案的媒體格式 response.setContentType(this.getServletContext().getMimeType(filename)); //處理中文檔案下載時火狐瀏覽器中文檔名亂碼的問題 //從請求頭中獲取User-Agent判斷當前使用的是否是火狐瀏覽器

如何解決在使用Eclipse在配置xml檔案xml檔案底部不出現namespace等選項。

如題:    使用Eclipse在配置*.xml檔案時,需要配置名稱空間namspace,  .xml檔案底部不出現配置選項: 如下為正常顯示的情況   如無法顯示此列: 解決方法: 1、 開啟 Window-> preferences->General-&

如何在CAD編輯中將CAD圖紙轉換成PDF檔案具體要怎麼操作?

如何在CAD編輯器中將CAD圖紙轉換成PDF檔案,具體要怎麼操作?在平常的工作中,建築設計師們藉助CAD編輯器沒編輯一張CAD圖紙都需要進行檢視,但是CAD圖紙均為dwg格式的,這樣不方便我們進行檢視,很多時候就需要將CAD圖紙轉換成PDF檔案,這樣就方便我們查看了,但是如何在CAD編輯器中將CAD圖紙轉換成

unity 編輯 ---獲取unity編輯中的所有視窗開啟顯示以備後面編輯擴充套件

獲取原理:unity 所有視窗介面都繼承自編輯器UnityEditor程式集下的EditorWindow。而所有的編輯器視窗都在UnityEditor程式集裡定義,所以,我們通過反射獲取UnityEditor程式集獲取所有視窗就可以了。 直接上程式碼: using System; using

notepad++編輯寫Java程式碼無法編譯出現錯誤:編碼GBK的不可對映字元

所報錯誤:編碼GBK的不可對映字元 解決方案:  1.英文版notepad++    選單:Configure --> Options --> JDK Tools --> Compiler

android開發xml檔案中總是提示某一個錯誤修改後仍然提示。

       哎,剛開始學android開發,開發環境好不容易搭建好,自己寫程式碼的時候難免犯錯,特別是xml編寫時如果出現了程式碼錯誤,錯誤提示會一直存在,即使修改了也存在,關掉專案重新開啟也存在,關掉Eclipse 重新啟動還存在。。。。糾結了 有沒有

Go語言環境安裝驗證go語言環境、使用文字編輯編寫一個go hello world,Go lang IDE安裝在golang中新建一個go程式

1 Golang語言環境安裝包下載 https://www.golangtc.com/ 下載: go1.9.2.windows-amd64.msi 和 go1.9.2.windows-amd64.zip 2 golang語言環境安裝 本筆記使用go1.10.2.window

eclipse中編輯log4j 的xml配置檔案自動提示

方法1. 配置log4j.dtd檔案:   Windows -> Preferences -> XML -> XML Catalog         點選 Add..  新增一個XML Catalog Entry        在彈出的視窗如下配置:  

解決eclipse編輯jsp js檔案經常出現卡死的問題

使用Eclipse編輯jsp、js檔案時,經常出現卡死現象,解決方法如下: 1、取消驗證 windows–>perferences–>validation 把 除了manual 下面的全部點掉,build下只留 classpath depend

Idea編輯開啟現有專案JDK版本不一致解決辦法

1.首先,選單路徑:File➡️project Structure➡️Project➡️project SDK :選擇匹配的JDK,比如現在idea預設使用的是1.8,則在此選擇1.8 2.其次,選單路徑:File➡️project Structure➡️Modules➡️Dependencies➡️M

Java自定義檔案型別下載下載檔案頁面會直接開啟檔案而不能下載檔案

  問題:Java自定義檔案型別下載,下載檔案時,頁面會直接開啟檔案而不能下載檔案。 解決: 需要在tomcat/conf/下web.xml進行配置,若檔案字尾名為 .CAA,則 <mime-mapping>  &n

fopen開啟檔案路徑中包含中文

轉載來自:http://blog.csdn.net/zmq5411/article/details/21003831 找了好多資料,一下午的時間,終於找到了,什麼加L啊,_T啊,寫UTF轉換函式啊,通通沒調通,原來是應該使用wfopen函式開啟啊 具體內容也可移步到原部落格

解決Source Insight 4.0版本開啟.s的檔案一片黑白沒有色彩並且在ADD TREE沒有包含.s檔案的問題

近日博主在使用SI時,發現.s檔案無法語法高亮顯示,網上教程多是老版本,並不適用於較新的版本,故寫下此博文教程以幫助眾多遇到此問題者。本教程適用於高版本的Source Insight,博主使用的就是4.0版本。 問題描述 問題如圖: 解決方案

chrome瀏覽器開啟Axure原型生成的html檔案總會提示需要安裝axure擴充套件的問題?

但是axure官方的擴充套件程式已經失效了,貌似是axure主程序升級後,chrome外掛不支援了。 目前最新版本是Axure RP Extension for Chrome 0.6.2,雖然能夠安裝成功。 so,我們只能通過生成html來讓團隊成員,或客戶來檢視原型效果了。 解決方案: 1、我一直使用本

java輸出utf-8的csv檔案檔案中有中文excel開啟檔案亂碼問題解決

1.utf-8的檔案分為兩種一種是有bom,一種是無bom。java輸出的utf-8的檔案時無bom的。由於excel開啟無bom的utf-8 csv檔案時就會出現中文亂碼, 即使中文輸出時採用了utf-8也不行。所以在輸出csv檔案時要加上bom頭。 2.用如下程式碼新增

thinkphp5.0 編輯界面驗證不合法後重定向到編輯界面編輯界面重新分配數據

規則 names 得到 還記得 輸入 分配 優先級 rule 獲取 首先,看一看 錯誤場景: 比如說我們有這樣一個編輯界面: 而我們有這樣一些驗證方法(註:采用的是thinkphp5.0的驗證規則) namespace app\admin\validate; use th