VC++

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

VC++

#1

投稿記事 by ざこ » 16年前

VC++で拡張子を指定する方法などありますか?例えばテキストファイルだけ開くようにして他(エクセルとか)
では行わないような感じがいいのですが。

バグ

Re:VC++

#2

投稿記事 by バグ » 16年前

いまいち、質問の意味がよく分からないのですが?
ファイル選択用のダイアログに表示されるファイルの種類に制限をかけたいという事でしょうか?

たかぎ

Re:VC++

#3

投稿記事 by たかぎ » 16年前

> 拡張子を指定する方法などありますか?

何に対してですか?

> 例えばテキストファイルだけ開くようにして

何で開くのでしょうか?

> 行わないような

行わないとは?

> 感じがいいのですが

感じといわれても、質問者さんと感覚を共有するのは困難です。
もっと具体的かつ客観的に表現してください。

Mist

Re:VC++

#4

投稿記事 by Mist » 16年前

http://tts.utopiat.net/bbshowto.html

上記のページを読んで質問内容を具体的にしてください。

ざこ

Re:VC++

#5

投稿記事 by ざこ » 16年前

これは失礼しました。例えばファイルを開くときにfopenで開きますがそのときにtxtファイルのみ開く
もしくはエクセルxlsのみで開くように拡張子に対して制限というのでしょうか、がしたいです。
if(●●){
fopen()・・
}

のようなイメージかと思うんですが調べても出てこないので質問させていただきました。

バグ

Re:VC++

#6

投稿記事 by バグ » 16年前

ファイルパス(おそらく文字列でしょうか?)を調べて、拡張子部が.xlsなどエクセルのファイルの際にのみ開くようにすればいいのでは?

ざこ

Re:VC++

#7

投稿記事 by ざこ » 16年前

すいません、例えが悪かったので訂正します。今Drag&Dropの勉強をしていてファイルごとに分けるプログラムを
作ってるんです。


拡張子  場所
txt c:\●●
XLS c:\○○

このときにスレ内容のような内容を使うので質問させていただきました。

non

Re:VC++

#8

投稿記事 by non » 16年前

_findfirstを調べてみたら如何でしょう。

Mist

Re:VC++

#9

投稿記事 by Mist » 16年前

WINAPIを使用してもよいのであれば拡張子部分の取得方法は以下のページが参考になると思います。

http://www.dev.pei.jp/programming/sdk/sdk68.html
http://nienie.com/~masapico/api_PathFindExtension.html

SooA

Re:VC++

#10

投稿記事 by SooA » 16年前

パスの分割で調べてみましょう。

fnsplit

簡易でいいなら取得した引数の末尾4文字を取り出して
".txt"かどうか判断。

大文字小文字の区別なしで文字列を比較する関数もあるので
調べてみてください。

バグ

Re:VC++

#11

投稿記事 by バグ » 16年前

パスから取得するならば、_splitpathなんていう関数もありますね。

バグ

Re:VC++

#12

投稿記事 by バグ » 16年前

CString path = "path.txt";
CString ext = path.Delete(0, path.ReverseFind('.') + 1);

MFCならば、こういうのでもいいかも…?

ざこ

Re:VC++

#13

投稿記事 by ざこ » 16年前

色々ありますね。少し一通りやってみます。

閉鎖

“C言語何でも質問掲示板” へ戻る