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-&
.建立一個視窗程式(JFrame),標題欄起名為“瀏覽器”,有一個選單條,有“檔案”、“編輯”、“檢視”3個選單。“檔案”選單有兩個選單項,一項是“開啟”,一項是“儲存”,“開啟”項做成子選單,有兩個
import javax.swing.*; public class Example { public static void main(String[] args) { Window win=
如何在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