2016-07-03 2 views
1

私は基本的に駐車場を管理しているプロジェクトに取り組んでいます。私のコードのいくつかの点では、私は関数strcpy()を使用していますが、この関数が安全でない可能性があるというエラーが表示されています。ここ
は、私がstrcpy()を使用しているコードの一部です:「安全でない」エラーをどのように克服できますか?

Automovel::Automovel(char * matr, Data ent, double comp) { 
    //CONSTRUTOR POR ENUMERAÇAO: 
    //RECEBE A MATRICULA, A DATA DE ENTRADA E O COMPRIMENTO DO CARRO 
    //POSIÇAO E VALOR PAGO FICA INDEFINIDO 
    matricula = new char[11]; 
    entry = new Data(ent); 

    strcpy(matricula, matr); 
    comprimento = comp; 
    pos[0] = -1; pos[1] = -1; 
    pago = -1; 
} 

私はどのように私はこのエラーを解決することができ、機能を使用する必要があり、そう?

+0

strcpy()関数を使用して、どうやって解決できるのでしょうか? –

+1

安全でない関数を使うのは誤りではありません。私はあなたの誤りが 'comprimento'が決して宣言されなかったと仮定しています。 –

+0

@CésarPereiraだから、あなたは 'strcpy'の代わりに安全な' strncpy'を使うことができたようです。 – zneak

答えて

0

strcpyは「安全でない」機能なので、Visual Studioでunsafe warningを無効にする必要がありますので、these stepsに従ってください。

1

あなたは言っていませんが、あなたはVisual Studioを使用していると仮定します。それが私がエラーに遭遇した場所です。

いずれかの弾丸をかむとstrcpy_sなどを使用するか、次の操作を行います。

#pragma warning(disable : 4996) 

これはstrcpyエラーになり、「機能」を無効にします。

+0

そして私はすべてのファイルでこれを行うべきです、エラーが出ますか?私は私のプロジェクトに多くの.cppファイルを持っています –

+0

します。しかし、IDEでこれを行うこともできます。 [プロジェクトのプロパティ]、[C/C++]、[詳細]、[特定の警告を無効にする]の順に進みます。 https://msdn.microsoft.com/en-us/library/jj715718.aspx –

関連する問題