前提・実現したいこと
C++で、fstreamのgetline関数を用いて、ファイルの内容を読みとりたい。
※fstreamやgetline以外にぴったりな関数があるようでしたらそちらでも構いません。
※プログラム実行中に、参照しているファイルが編集されるようになっているため、一定時間ごとにループでgetlineを実行します。
発生している問題・エラーメッセージ
プログラムの実行中に参照されているファイルを編集しても、コンソールに反映されない
該当のソースコード
C++
1#include<stdio.h> 2#include<Windows.h> 3#include<string> 4#include<fstream> 5#include<iostream> 6#include<stdlib.h> 7 8 9int main() { 10 std::ifstream ifs("stock_prices.txt"); 11 if (ifs.fail()) { 12 printf("fail"); 13 return -1; 14 } 15 std::string reading, message, news = ""; 16 long long p1 = 0; 17 long long p2 = 0; 18 long long p3 = 0; 19 long long p4 = 0; 20 long long p5 = 0; 21 long long p6 = 0; 22 long long p7 = 0; 23 long long p8 = 0; 24 int i = 0; 25 long long loop_count = 0; 26 while (1) { 27 i = 0; 28 loop_count = loop_count + 1; 29 while (1) { 30 getline(ifs, reading); 31 i++; 32 p1, p2, p3, p4, p5, p6, p7, p8 = -1; 33 if (i == 1) { 34 if (reading != "DATA_STOCK-PRICES") { 35 message = ""; 36 break; 37 } 38 } 39 if (i == 2) { 40 p1 = strtoll(reading.c_str(), nullptr, 10); 41 } 42 if (i == 3) { 43 p2 = strtoll(reading.c_str(), nullptr, 10); 44 } 45 if (i == 4) { 46 p3 = strtoll(reading.c_str(), nullptr, 10); 47 } 48 if (i == 5) { 49 p4 = strtoll(reading.c_str(), nullptr, 10); 50 } 51 if (i == 6) { 52 p5 = strtoll(reading.c_str(), nullptr, 10); 53 } 54 if (i == 7) { 55 p6 = strtoll(reading.c_str(), nullptr, 10); 56 } 57 if (i == 8) { 58 p7 = strtoll(reading.c_str(), nullptr, 10); 59 } 60 if (i == 9) { 61 p8 = strtoll(reading.c_str(), nullptr, 10); 62 } 63 if (i == 10) { 64 if (reading != "") { 65 news = reading.c_str(); 66 } 67 } 68 if (i == 11) { 69 break; 70 } 71 } 72 if (i != 11) { 73 break; 74 } 75 if (loop_count != 1) { 76 Sleep(333); 77 } 78 system("cls"); 79~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 80 } 81 if (message != "") { 82 printf("%s", message.c_str()); 83 return -1; 84 } 85}
補足情報
Visual Studio 2019 Communityを使用
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/18 01:49
2020/04/18 02:18
2020/04/18 02:40
2020/04/18 02:47
2020/04/18 04:13
2020/04/18 04:18
2020/04/18 06:05
2020/04/18 09:31
2020/04/18 11:07
2020/04/18 12:46