2011-01-09 9 views

答えて

8

はい、もちろんあります。

const char * filename = "abc.txt"; 

std::ifstream fin(filename); 

または使用のstd ::文字列

std::string filename = "abc.txt"; 

std::ifstream fin(filename.c_str()); 

C++ 11とは、あなただけで直接文字列を使用することができます。

std::ifstream fin(filename); 
+1

あなたはそこで廃止予定の変換を行っています。 –

-1

は、ファイルの拡張子を

文字列のVAR = "TEXT.TXT"」

ifstream.open(var.c_str()、イオス::バイナリ)のファイル名を付けます。

+0

C++にStringクラスはありません。 std :: stringを意味しても、ifstream.openは文字列を最初の引数として取りません。 – Yacoby

+0

@Yacoby私はそれを知っている! ..私はabt stf :: stringを話しています – Sudantha

+1

'stf :: string'とは何ですか? –

1

はい。それをコンストラクタの引数として渡します。

3

また、(文字列はとにかく何であるか基本的に)文字列を使用することができます。

char filename[20]; 

std::cout << "Enter the filename (no more than 20 characters): "; 
std::cin >> filename; 

std::ifstream inputFile(filename); 

仕事、あなたのファイル名の動的なユーザー入力を取ることができるようにする必要があること。

関連する問題