C++寫工程常用代碼總結
當你看到這篇文章,請留下你的贊贊給一個害羞的初中生信心❤
我們知道,
寫工程需要將多段代碼拼合到一起實現一個總體效果。
所以說我們需要有方法去打開另外的一段程序。
本博客將將該博主所知的C++所有打開程序或文件,新建文件或文件夾的方法教給大家,希望對大家的開發有所幫助。
1.打開文件:
方法1:
system("");
//需要加入頭文件#include <windows.h>
在引號中插入你要打開的文件的文件名,需要加後綴。
但只時候相對路徑,也就是在同一目錄下的,如果目標在文件夾裏面,也不行。
注:該方法會讓源程序等待目標程序運行完成再繼續運行,不會打開新窗口,在原窗口中運行目標程序。
舉個栗子:
我有一個文件夾(A)下有一段代碼(B),代碼(B)想去調用同在文件夾(A)下的應用程序(C.exe),則代碼(B)需要在調用時鍵入代碼:
system("C.exe");
//需要加入頭文件#include <windows.h>
代碼(B)執行到這段代碼後將在同一目錄下尋找"C.exe":
若找到,
則在代碼(B)的控制檯中運行應用程序(C.exe);
運行完應用程序(C.exe)後繼續運行代碼(B)。
若沒有找到,則系統彈窗提示:
C.exe沒有找到。
然後繼續運行代碼(B);
方法2:
system("start ");
//需要加入頭文件#include <windows.h>
在Start後面插入你要的文件名或網址或地址,在新的窗口中打卡它,然後繼續運行源程序。
支持多線程!!!
舉個栗子,各位可以去試一下:
1.新建一個文件夾:
裏面有第一段程序1.cpp:
#include <windows.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main() {
printf("你好\n");
system("start 2.exe");
printf("你好\n");
return 0;
}
然後加入第二段程序2.cpp:
#include <conio.h>
int main() {
getch();
return 0;
}
通過運行將2.cpp轉exe文件,運行第一段程序,便會彈出第一個窗口,輸出你好,然後打開第二個窗口,也就是2.exe,接着繼續往下執行,再輸出一個你好。
總結一下,也就是說:這個
system("start ");
//需要加入頭文件#include <windows.h>
不會去管文件是否存在,打開後就繼續往下執行,並彈出一個新窗口去展示被打開的文件。
當然,system("start ");也可以打開文件夾,如果在同一目錄下,只要輸入文件夾的名稱就可以了。
方法3:
WinExec("path", SW_SHOWMAXIMIZED); //不等待,多線程。
//需要加入頭文件#include <windows.h>
這個跟system("");非常像,要麼時相對路徑,要麼時絕對路徑,但是並不會等待要打開的文件運行完畢,像system("start ");一樣,打開就不管了,但也不會彈出新的窗口。
這個不推薦大家用,因爲經常會因爲文件已經在使用而無法打開,十分不穩定。
2.操作文件內容和創建文件。
C++並不能直接新建文件OR文件夾,我們其實可以利用freopen函數來創建。
因此,我們先來學習一下號稱輸入神器的freopen
1.基本結構:
freopen("定向輸入/出的絕對或相對路徑","參數",stdin/stdout);
我們先來看一下"定向輸入/出的絕對或相對路徑"
假設有一個C.txt在D盤,我們可以將它的絕對路徑填成:
D:\\C.txe
或者D:/C.txt
如果我們的源文件剛好也在D盤,我們就可以用相對路徑C.txt
。
我們先來看一下"參數"
。
這裏我將常用的參數彙總了一下,打包送給大家:
/*"r" 打開一個用於讀取的文件。該文件必須存在。
"w" 創建一個用於寫入的空文件。如果文件名稱與已存在的文件相同,則會刪除已有文件的內容,文件被視爲一個新的空文件。
"a" 追加到一個文件。寫操作向文件末尾追加數據。如果文件不存在,則創建文件。
"r+" 打開一個用於更新的文件,可讀取也可寫入。該文件必須存在。
"w+" 創建一個用於讀寫的空文件。
"a+" 打開一個用於讀取和追加的文件。*/
喜歡的收藏一下,方便使用。
我們先來看一下stdin/stdout
。
這就比較簡單了:
stdin 是 定向輸入
stdout 是 定向輸出
注:需要用到:
#include
using namespace std;
回到正題,我們先來學習一下比較簡單的——創建文件夾。
我們其實可以利用CMD的命令來創建:
system("md 文件夾的名稱");
//需要加入頭文件#include <windows.h>
最後,就到了創建文件的時候了,仔細看freopen的參數,就會發現
//"w" 創建一個用於寫入的空文件。如果文件名稱與已存在的文件相同,則會刪除已有文件的內容,文件被視爲一個新的空文件。
//"a" 追加到一個文件。寫操作向文件末尾追加數據。如果文件不存在,則創建文件。
//"w+" 創建一個用於讀寫的空文件。
//"a+" 打開一個用於讀取和追加的文件。
恍然大悟了有沒有,利用freopen來創建文件。
補充:結束freopen 的方法:
fclose(stdin); //結束一切輸入
fclose(stdout); //結束一切輸出
freopen("CON", "r", stdin); //結束定向input;
freopen("CON", "w", stdout); //結束定向output;
有一個問題,不只是我電腦的問題還是代碼的問題,用完
freopen("CON", "w", stdout); //結束定向output;
後再用system(“cls”);//清屏會有亂碼。
保險起見,推薦大家結合system("start ");來使用freopen.
新建一個窗口比較保險,不然到時自己都不知道自己是怎麼死的😭。
但是新建一個窗口畢竟會損毀程序的美觀性,所以給大家一個隱藏控制檯的方法,作爲看到最後的獎勵。
/*
釋放控制檯: FreeConsole();
隱藏控制檯窗口:ShowWindow(GetConsoleWindow(), SW_HIDE);
隱藏後想要顯示可以用:ShowWindow(GetConsoleWindow(), SW_SHOW);
頭文件:#include <windows.h>
*/
最後,給大家推薦一個神級代碼編輯器:Sublime text3
有興趣的朋友可以去看一下,從安裝到運行程序一包通。
Sublime text3一包通
當你看到這篇文章,請留下你的贊贊給一個害羞的初中生信心❤
喜歡的朋友請留下評論,收藏一波,絕對實用。謝謝。
這裏,送給大家幾個我寫的工程:
1.Mini NotePad++v1.4.rar
2.OneNoteBook V1.0.exe
3.OneNoteBook V1.1.exe
然後就是我大力推薦的跨平臺編程軟件:
Sublime text3!!!
如果你還跟以前的我一樣,不瞭解Sublime text3
怎麼用?
怎麼樣?
我想你應該去看一下