C++寫工程常用代碼總結

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.txtD盤,我們可以將它的絕對路徑填成:
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寫工程

有興趣的朋友可以去看一下,從安裝到運行程序一包通。

Sublime text3一包通

當你看到這篇文章,請留下你的贊贊給一個害羞的初中生信心❤

喜歡的朋友請留下評論,收藏一波,絕對實用。謝謝。

這裏,送給大家幾個我寫的工程:

1.Mini NotePad++v1.4.rar

2.OneNoteBook V1.0.exe

3.OneNoteBook V1.1.exe

然後就是我大力推薦的跨平臺編程軟件:

Sublime text3!!!

如果你還跟以前的我一樣,不瞭解Sublime text3

怎麼用?

怎麼樣?

我想你應該去看一下

Sublime text3 高級操作(直接上代碼,超爽。)

一個好的代碼編輯器,會讓你的編程水平突飛猛進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章