#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line = "test";
ifstream myfile("example.txt");
myfile.open("example.txt");
if (myfile.is_open())
{
cout << line << "\n";
cout << "File Opened\n";
getline(myfile, line);
cout << line;
while (getline(myfile, line))
{
cout << line << '\n';
cout << "test";
}
myfile.close();
}
else cout << "Unable to open file";
//return 0;
//getchar();
}
これが答えられても、私が必要とするものに非常に近い答えが見つかっても、私はこの特定の問題に対する答えを見つけることができません。C++(Visual Studio):.txtファイルからの入力を読み取ろうとしているときに何も受け取らない
私はVisual Studioを使い慣れていませんが、過去にはC++で手を加えました。私はテキストファイルからデータを読み込もうとしていますが、(今のところ)単純にcoutを使ってそれを出力します。しかし、私は結果を見ていないよ。
最初は間違った場所に自分のtxtファイルがあると思っていました。当初、「ファイルを開くことができません」という行が表示され、ファイルを開くことができなかったことを示しています。だから、私はそれを移動し、Visual Studioがどこにファイルを置くかを知りました。
これで、「File Opened \ n」という行が画面に表示され、その後は何も表示されません。私はgetlineを間違って使っているかもしれないと思ったが、ファイル入力 "myfile"を "cin"に置き換えると、getlineは一日中キーボード入力で楽しく読めるので、それもそうではない。
私は文字列の値を出力するいくつかのtest coutステートメントを入れました。最初のものは "テスト"をそのまま出力します。それから私はその文字列変数にtxtファイルの行を読み込み、私が再びそれを覚えると何も得られません。それは空の文字列です。
また、 "cout < <" test ";"ループ内からはどちらも印刷されません。だから、ループは起こっていない、そうだ。
私が知る限り、プログラムは私のテキストファイルexample.txtを見つけることができます。しかし、それは実際に内容を見ていない。これは、これは
第二行目で、最初の行
ある
」:
次のようにテキストファイルの内容(と私はプリントアウトするプログラムをたい)があります
第四
フィフス」
何かすべての助けが大歓迎です。
アイデアをお寄せいただきありがとうございます。残念ながら、これはどちらかといえないようです。私はC++に(\\の代わりに\\を使用するのを忘れた場合の短いエラーの後で)ファイルを見つけることができましたが、完全な明示的なファイルパスを使用しても、前と同じ出力が得られます。編集:私はちょうど考えていた - 私は正しくmyfile.openを使用していますか?ファイルパスを2回入力する必要があるのかどうかわかりません。私はもう少しそれを研究するつもりです、それは多分です。 – FEF
それは変です。私はコードに調整を加え、うまくいくと言ったようです。 – farmtireguy
私はあなたを信じています。このコードは特にオリジナルではありません。基本的には、私がオンラインで見たすべてのチュートリアルでファイル入力の読み方について言われているものを改変したものなので、間違ったことがわかりません。 – FEF