2013-07-13 12 views
7

このコードをコンパイルしようとしていますが、何らかの理由で動作しません。誰か助けてくれますか? strlen()を正しく使う方法を知りたいです。'このスコープで宣言されていません' strlen()を使用している場合

#include<iostream> 
using namespace std; 

int main() 
{ 
    char buffer[80]; 

    cout << "Enter a string:"; 
    cin >> buffer; 
    cout << strlen(buffer); 

    return 0; 

} 

私はcin.getline(buffer、80)を使ってみました。私は同じコンパイルエラーの問題が発生します。あなたが代わりにstring.h含めることができますとは対照的に、それがグローバル名前空間にstrlenを置く

#include <cstring> 

は私のコンパイラはエラーはあなたがstrlenためcstringヘッダをインクルードする必要があり、この

error: strlen was not declared in this scope

+0

エラーは何ですか? – Borgleader

+0

私のコンパイラは次のように言っています:error:âstrlenâがこのスコープで宣言されていませんでした – Person

+0

何が問題ですか? – dayitv89

答えて

24

<cstring>または<string.h>を含むのを忘れてしまった。

cstringstd名前空間にstrlenを、string.hはグローバル名前空間にそれを保持します。

+1

よろしくお願いします。 – Person

3

であると言いますstd名前空間。 cstringを使用し、using namespace stdを使用してドロップする方が良いと思われます。

関連する問題