• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Visual Studio 2010 professional でst)

strcpy_s()関数をVisual Studio 2010 professionalで使用する方法

reset_catの回答

  • ベストアンサー
  • reset_cat
  • ベストアンサー率68% (94/138)
回答No.5

他の回答者さんはcharとwchar_tの違いを指摘していますが、エラーの内容が「引数が2つのstrcpy_s関数が無い」という内容なので、観点が違うかと・・・ string.hをインクルードする前に、以下のdefineをしているかどうか確認してください。 #define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 1 これでオーバーロードが有効になり、引数が2つでもエラーにならないはずです。詳細は参考URLにて・・・

参考URL:
http://msdn.microsoft.com/ja-jp/library/ms175759.aspx
Waizumi0712
質問者

お礼

まさしくreset_catさんのおっしゃるとおりでした. おかげさまで無事解決することが出来ました. defineしないといけないとか夢にも思いませんでした.今後,同じ問題を抱えた人がここを見て参考にしてもらえたらいいなと思います. 本当にありがとうございました.

関連するQ&A

  • Visual Studio 2008 Professional EditionでのMFCの使用法

    4月から社会人となる、情報系学生です。 勤務先で必要となるため、Visual Studio + MFCでのWindowsアプリ作成を勉強しています。 環境はVS 2008 Professional Edition(90日限定評価版)でVC++2008、参考書は「ゼロから学ぶVisual C++」です。 最初のサンプルでは、 ・シングル ドキュメント インターフェイスで、 で、メニューをクリックすると「Hello」というメッセージボックスが出るプログラムを組むのですが、いきなりエラーが6つも出てしまいます。 気になる点としては、参考書ではVisual C++2003を使用して説明されているのですが、こちらの環境が2008であることぐらいで、その他の原因は皆目検討つきません。 原因がわかりそうな方がいらっしゃいましたら、何卒ご教授願います。 エラーメッセージは下記の通りです。(Worning含む) c:\program files\microsoft visual studio 9.0\vc\include\cstringt.h(267) : warning C4996: 'wcscpy': This function or variable may be unsafe. Consider using wcscpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. (途中省略) c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(304) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IUnknown ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(508) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IUnknown ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IPersistStream ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(2215) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IPersistStream ] c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(118) : error C2535: 'ATL::COleDateTime::COleDateTime(time_t) throw()' : メンバ関数は、既に定義または宣言されています。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(114) : 'ATL::COleDateTime::COleDateTime' の宣言を確認してください。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(176) : error C2535: 'ATL::COleDateTime &ATL::COleDateTime::operator =(const time_t &) throw()' : メンバ関数は、既に定義または宣言されています。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomtime.h(172) : 'ATL::COleDateTime::operator =' の宣言を確認してください。 c:\program files\microsoft visual studio 9.0\vc\include\atlcomcli.h(300) : error C2299: 'ATL::CComPtr<T>::operator =' : 動作の変更: 明示的な特殊化には、コピー コンストラクタまたはコピー代入演算子を使用することはできません with [ T=IMalloc ] c:\program files\microsoft visual studio 9.0\vc\include\atlcommem.h(55) : コンパイルされたクラスの テンプレート のインスタンス化 'ATL::CComPtr<T>' の参照を確認してください with [ T=IMalloc ] ビルドログは "file://c:\Users\hisazun\Documents\Visual Studio 2008\Projects\MFCsample01\MFCsample01\Debug\BuildLog.htm" に保存されました。 MFCsample01 - エラー 6、警告 7

  • Visual Studio 2005 Professional が 再インストール出来ない。

    いつもお世話になっております。 Visual Studio 2005 Professional を 再インストール しようとしたところ、 「1402 キーが開けません」(後述にレジストリの場所) とエラーが出て再インストールが出来なくなりました。 何回トライしても同じ結果となります。 最初にインストールしたときは正常にインストール出来ました。 当分使わないと思い、一旦アンインストールし、使用する必要性が 出てきたので、再度インストールを行ったところ、エラーが出て 再インストールすることが出来なくなってしまっていたのです。 再び正常にインストールするにはどうすればよろしいのでしょうか? みなさま、どうかよきアドバイスをご教示お願い致します。 OSはWindowsXP SP3 です。 よろしくお願いいたします。

  • visual studio 2008 professional edi

    visual studio 2008 professional edition でvisual basic6のプログラムを開く際に 1.バージョン 2.フォームのプロパティ 3.コントロールのプロパティ が書かれている部分で 「宣言が必要です」というエラーが出るのですが対処法が分かりません。 どなたか教えていただけないでしょうか? VERSION 5.00 Begin VB.Form Form1 Caption = "Form1" ClientHeight = 9510 ClientLeft = 390 ClientTop = 660 ClientWidth = 11100 LinkTopic = "Form1" ScaleHeight = 9510 ScaleWidth = 11100 Begin VB.Frame Frame10 Caption = "cfs number" Height = 1335 Left = 6600 TabIndex = 117 Top = 9840 Width = 1455 ........ と続きます。

  • Visual Studioでビルドできません.

    Visual Studio 2008の環境でVisual Fortranを使用しております. インストールし,新しいプロジェクトでVisual Studioにインストールされているメイン・プログラム・コードもビルドおよびデバッグができず,以下のようなエラーが表示されます. 「エラー1  fatal error LNK2023: DLL または エントリ ポイント 'msobj80.dll' が正しくありません。 LINK 」 このような,エラーが表示されたときはどのように対処すればいいのでしょうか? パソコンの環境は ・DELL PRECISION T3500 ・Windows 7 Professional SP1 ・64ビット です. このような開発ソフトを扱うのは初めてなので,なにも分からない状態です. 皆様のご教授お待ちしております.

  • mecabというアプリケーションをvisual studio 2010

    mecabというアプリケーションをvisual studio 2010を用いてC言語で実行したいのですが、どのようにすればいいのか分からず困ってます。 mecabの中にあるヘッダファイルは C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include に入れたらincludeしてくれたのですが、実行してみると 未解決の外部シンボル __imp__mecab_destroy が関数 _main で参照されました。 となってしまいうまくコンパイルできません。 ヘッダファイルのほかにどのファイルをどこに入れたらいいのか もしわかる方がいれば教えていただけますか?

  • Visual Studio 超初心者です。

    初めての質問です、よろしくお願いします。 「Visual Studio 2005(アカデミックパック)」を先日購入したばかりの初心者です。 プログラミング経験はCの本を一冊分くらい勉強した程度です。 ネットや書籍の情報を読んでいて、次はVisual C++なのかなと思い「Visual C++1 はじめてのWindowsプログラミング/山本信雄著」と合わせて購入しました(Express Editionというものがあると知ったのはその後でした・・・)  質問なのですが、上に挙げた本のコードをVisual Studioに記述してもビルドができません。ビルドしても「 error C2664: 'lstrcpyW' : 1 番目の引数を 'char [80]' から 'LPWSTR' に変換できません。(新しい機能 ; ヘルプを参照)指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。」といったエラーが4つほど出てしまいます。ヘルプ参照とありますが、それもよく分かりません・・・(泣)。  最低レベルの質問かもしれませんがよろしくお願いします。

  • Visual Studioでのクラスウィザード

    Internet Explore 8をインストールしてから、Visual Studioのクラスウィザードが使用できなくなりました。 クラスウィザードを使用すると「このWebサイトのアドオンは実行できませんでした。[インターネット オプション]のセキュリティ設定で、競合がないことを確認してください。」と出ます。 どなたか解決方法をご存じの方は、教えていただけますでしょうか? ○環境 Windows Vista Ultimate Visual Studio 2008 Professional

  • visual studio 2013のエラー

    #include <stdio.h> int main(void) { int n1, n2; int wa; puts("二つの整数を入力してください。"); printf("整数1:"); scanf_s("%d", &n1); printf("整数2:"); scanf_s("%d , &n2") wa = n1 + n2; printf("それらの和は%dです。\n", wa); return 0; } エラー 1 error C2146: 構文エラー : ';' が、識別子 'wa' の前に必要です。 c:\users\伸之\documents\visual studio 2013\projects\training\source.cpp 10 1 training 2 IntelliSense: ';' が必要です c:\Users\伸之\Documents\Visual Studio 2013\Projects\training\Source.cpp 9 2 training のエラーが出たなんですけど、原因がわかりません。 よろしくお願いします。

  • Visual Studio のコンパイラがアプリケーションエラー

    Visual Studio 2005 Professional Edition(Visual Basic 2005)を使っています。 プログラム作成中にコンパイラ(エラー一覧に、文法エラー等を表示するやつです)がアプリケーションエラーで当然のように頻繁に落ちます。 ※エラー内容「問題が発生したため、Microsoft Visual Basic Compilerを終了します。ご不便をおかけ・・・」「・・Visual Basicコンパイラを回復できません。システムエラー・・・」 コンパイラが落ちないように、 この自動コンパイル(自動コードチェック)をしないようにVisual Studioを設定する方法をご存知の方、教えて頂けませんでしょうか。 ※いろいろ調べてみたのですがわかりませんでした。

  • visual studioのデザイナ画面でエラーがでる

    visual studio 2008 express edition C#3.5 を使用しています。 新しい項目の追加からフォーム画面をそれぞれ 「Base.cs」 public partial class Base : Form { public Base(int i) { InitializeComponent(); } } 「CSharp.cs」 public partial class CSharp : Base { public CSharp(int i) : base(i) { } } とCSharpクラスはBaseクラスを継承させるようにしたいのですが、 上のように引数付きコンストラクタで記述すると 「型 'Test.Base' にコンストラクタが見つかりませんでした。 」 というエラーが出てデザイン画面が表示されなくなります・・・ 次のように 「Base.cs」 public partial class Base : Form { public Base() { InitializeComponent(); } public Base(int i) { InitializeComponent(); } } Baseクラスに引数なしのコンストラクタを追加すれば問題なくデザイン画面が表示されるのですが、 これはvisual studioだから起こるエラーなのでしょうか?