我在Windows 7中使用VS2010编写C ++ mfc程序。我想逐行读取txt文件并将其传递给字符串数组。
我已经尝试过testByLine函数,但是它说名称“ fstream”是不确定的。此外,在Windows 7中,“ ios :: in”似乎不正确,但我不知道如何纠正它。
#include "stdafx.h"
#include <fstream>
std::string Value_2[5];
void testByLine()
{
char buffer[256];
fstream outFile;
outFile.open("result.txt", ios::in);
int i = 0;
while (!outFile.eof()) {
outFile.getline(buffer, 128, '\n');
Value_2[i] = buffer;
i += 1;
}
outFile.close();
}
我希望txt中的每一行都传递给字符串数组Value_2的每个元素。
答案 0 :(得分:0)
您可以执行以下操作。
#include <fstream>
#include <iostream>
#include <string>
int main(){
std::string read;
std::string arr[5];
std::ifstream outFile;
outFile.open("test.txt");
int count = 0;
//reading line by line
while(getline(outFile, read)){
//add to arr
arr[count] = read;
count++;
}
outFile.close();
//c++ 11
// for(std::string str : arr) std::cout << str << "\n";
for(int i = 0; i < 5; i++){
std::cout << arr[i] << "\n";
}
return 0;
}