[问题] txt档案读取一行,放入到阵列并显示

楼主: jayzhuang (Jay)   2019-09-12 19:17:17
开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
vs2019
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
要把一个文字档案,程式读取每一行之后,透过写入到阵列
然后呈现
喂入的资料(Input):
这是我的显示,右边是我设定的每一行的阵列
https://imgur.com/mPT1Bcc
预期的正确结果(Expected Output):
这是直接读取txt档案的内容,没有空一行没有关系
最重要的是能一行对应一个array
https://imgur.com/NEVmEZj
错误结果(Wrong Output):
而我直接写入到阵列之后,呈现的内容:
https://imgur.com/YI4YaLO
这边我只有先测试读取到data_array[0][0]~data_array[2][3]的内容
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
Sleep(5000);
//5秒开始,目前回传以密码原则12条为主:检查全部内容
string data_array[5][4];
ifstream Read_PwdRevisTxt; //要读取的修改档-PwdRevis
Read_PwdRevisTxt.open("computer01.txt");
for(int i=0;i<5;i++)
{
for (int j = 0; j < 4; j++)
{
Read_PwdRevisTxt >> data_array[i][j];
}
}
Read_PwdRevisTxt.close(); //读取完毕要关闭
cout << data_array[0][0] << endl;
cout << data_array[0][1] << endl;
cout << data_array[0][2] << endl;
cout << data_array[0][3] << endl;
cout << data_array[1][0] << endl;
cout << data_array[1][1] << endl;
cout << data_array[1][2] << endl;
cout << data_array[1][3] << endl;
cout << data_array[2][0] << endl;
cout << data_array[2][1] << endl;
cout << data_array[2][2] << endl;
cout << data_array[2][3] << endl;
补充说明(Supplement):
我找到的问题,他好像只要有空白、tab,就会直接写入阵列内@@
我要的是一行对应一个array这样
有大大可以告诉我怎么解决这问题吗?
作者: james732 (好人超)   2019-09-12 19:57:00
透过 getline() ?用法可google
作者: Gway (我爱的你 也爱我 好吗?)   2019-09-12 21:14:00
宣告vector<string> data_array 用Readline(cin,data_array[i]) 去取每一行呃 我打错api 是getline... 拍谢 恍神

Links booklink

Contact Us: admin [ a t ] ucptt.com