2008年5月31日 星期六

C & C++ 字串兩三事

  1. strlen( ) 不算'\0' ,但是會算'\n'。所以strlen("hello") 結果是5,strlen("hello\n") 結果是6。換行符號也算一個char,很容易被遺忘。
  2. 宣告string的時候,通常用的格式 char[MAXLINE+1],最後那個1,就是拿來放字串的結尾'\0'的。
  3. 從stdin讀字串的方法:
    cin>>s; 讀一個單字,遇到空格or換行停止,空格or換行不會存進字串s。
    cin.getline(s, length) 讀一行,遇到換行才停。
    fgets(s, sizeof(s), stdin) 最後那個'\n'也會被包含在輸入字串裡。
    cin.getline(s,length)則不會包含'\n'