質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

10747閲覧

VC++ MFCでカレントディレクトリを取得したい

m24yama

総合スコア38

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/05/24 00:04

VB6では、Dirでカレントディレクトリを取得していましたが、
今回、VC++へ移植するにあたり、下記のように記述してみました。
Visual Studio 2013を使ってます。

#include <windows.h>
・・・
TCHAR szBuf[MAX_PATH];
(void)GetCurrentDirectory(_countof(szBuf), szBuf);

ところが、_countofの部分で赤波線となり、
「Errod:識別子 "szBuf" が定義されていません」となってしまいます。
どうしてエラーになってしまうのでしょうか?
解決方法がありましたら、どうか教えて頂きたいです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

※ 直接の回答になってないけど

わざわざ _countof(szBuf) とか使わんでも MAX_PATH でいいぢゃん。

投稿2017/05/24 00:20

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m24yama

2017/05/24 01:19

色々と検索をした結果、何とかエラーは解消されました。 ありがとうございました。
ttyp03

2017/05/24 02:09

m24yamaさん> その「色々と検索をした結果」を書いてもらえると、同様のエラーで困ってる人の参考になるので、追記していただけると助かります。
episteme

2017/05/24 02:14

↑ てか、それが「礼儀」だと思うのよ。
m24yama

2017/05/24 02:43

皆様、大変失礼しました。 自分の環境では、以下のように記述することで、エラーが解消されました。 TCHAR crDir[MAX_PATH + 1]; GetCurrentDirectory(MAX_PATH + 1, crDir); 色々とご指摘をありがとうございました。 感謝いたします。
ttyp03

2017/05/24 02:58

それってepistemeさんの回答どおりじゃないですか。 別の方法でエラー回避したのかと思ったんですけど違うのか。
m24yama

2017/05/24 04:06

すみません。 色々試して、エラーにならなかったのは、epistemeさんの回答でした。 初心者なので、無知で申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問