VS2017除錯問題集錦

2021-09-25 18:18:17 字數 1656 閱讀 7306

保留有效位數

setprecision()

包含的標頭檔案——#include

#include#include#include#include "stdlib.h"

using namespace std;

int main(){

//保留有效數字

double pi=3.1415926;

cout<[外鏈轉存失敗(img-pp02e5b8-1564575349508)(./images/1531818747215.png)]

保留有效數字

setprecision(3)

保留小數點後幾位問題

在setprecision() 前新增setiosflags(ios::fixed)

3、格式化輸出(01)

cout.setf(ios::right);

cout.fill('0');

cout.width(2);

在main() 函式return 0之前新增 system(「pause」); (需包含標頭檔案"stdlib.h")

main() 函式return 0之前新增 getchar()

遇空字元(包括空格、回車、tab)表示乙個輸入的結束,連續的空字元會被忽略。

cin1.cin>>

1.以空格,回車,換行分隔

2.如果第乙個為上述「分隔符」,cin會自動忽略並清除,等待資料繼續輸入

3.cin>>noskipws>>input可以不略過空白字元

2.cin.get

a.讀取乙個字元 不忽略分隔符

a=cin.get();cin.get(a);

b.讀取一整行

cin.get(a,size);遇到分隔符是結束

note:

只能將字串讀入c風格的字串中,即char*類,而getline型別可以讀入c++風格字串,即string類

3.cin.getline

a=cin.getline(a,size)遇到分隔符結束

實際只能讀取size-1個資料

與cin.get()唯一區別為,前者不會將分隔符留在緩衝區中

4.cin.clear()

清空輸入資料時的異常狀態,使接下來的資料正常輸入

5.cin.ignore()

cin.ignore(1024,』\n』)第乙個引數通常要求為非常大的整數,實際上只有\n在起作用,就是把回車(包括回車)之前的所以字元從輸入緩衝(流)中清除出去。

note:

如果cin.ignore()不給引數,則預設引數為cin.ignore(1,eof),即把eof前的1個字元清掉,沒有遇到eof就清掉乙個字元然後結束,會導致不正確的結果

6.getline

getline(cin,a)getline遇到結束符時,會將結束符一併讀入指定的string中,再將結束符替換為空字元,所以用getline較為安全

與cin.getline()類似,前者屬於istream流,後者屬於stirng流

string輸入

即用上述的cin和讀入即可getline

為了輸入的快速,防止超時,可以使用scanf讀入資料,後再賦值給string

vs2017問題集錦

當建立了win32 console project後,f5執行後,本來想看到console中printf出來的資訊,可是cmd視窗一閃而過。下面是保持visual studio 跳出的cmd視窗駐留的兩種方法,根據需要選擇不同的方式。方法一 在 中加入 1 system pause 2 getcha...

VS2017遠端除錯

由於某些因素,我需要程式在其他系統執行,但是又不想打日誌,就想直接遠端除錯。找了幾個部落格都有基礎的教程,但都不能正常執行,決定自己寫乙個能用的。首先去vs安裝目錄找到remote debugger目錄 在安裝目錄的common7 ide裡面,下圖目錄是因為我把vs2017安裝在f microsof...

解決VS2017除錯卡住的問題

今天用vs2017除錯程式時,程式沒有按照預期的那樣執行到斷點處,並且結束除錯時會卡很長時間。那麼解決方法是 1.tools options debugging 勾選 use managed compatibility mode 2.tools options debugging symbols 取...