程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++讀一行到string中與vc的debug assertion failed!問題

C++讀一行到string中與vc的debug assertion failed!問題

編輯:C++入門知識

將輸入的一行讀到string中不需要像用數組那樣,考慮給多少大小的空間,這可以使得做acm題更加方便。

c++98有兩個函數可以讀一行到string中,如下:

istream& getline (istream& is, string& str, char delim);
istream& getline (istream& is, string& str);


例子:

#include 
#include 
using namespace std;

int main ()
{
  string name;

  cout << "Please, enter your full name: ";
  getline ( cin, name );
  cout << "Hello, " << name << "!\n";

  return 0;
}

在用vc2005調試程序時遇到以下錯誤:


在我的程序中出現這個錯誤的原因是:在stack為空的情況下調用了top()方法。vc對c++中其他類比如vector,queue應該有類似的斷言,就是在結構體為空的時候進行了非法的操作會引進這個錯誤。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved