2013-04-12 2 views
1

Я пытаюсь открыть файл и прочитать содержимое в пару массивов. Я не могу найти, что я делаю неправильно. Я использую абсолютный путь. Входной файл выглядит примерно так:Невозможно открыть файл для массива в C++

Sam  100 23 210 
Bob  1  2 12 
Ted  300 300 100 
Bill 223 300 221 
James 234 123 212 
Luke 123 222 111 
Seth 1  2  3 
Tim  222 300 180 
Dan  222 111 211 
Ben  100 100  2 

Вот мой код:

#include "stdafx.h" 
#include <fstream> 
#include <iostream> 
#include <string> 

using namespace std; 

int main() 
{ 
string name; 
ifstream inFile; 
string bowlerNames[10]; 
int bowlerScores[10][3] = {0}; 


inFile.open("C:\\Users\Seth\Documents\bowlingData.txt"); 

if (inFile.is_open()) //Checking if the file can be opened 
{ 

for (int i = 0; i < 10; i++) 
{ 
    inFile >> bowlerNames[i] 
      >> bowlerScores[i][0] 
      >> bowlerScores[i][1] 
      >> bowlerScores[i][2]; 
} 

for (int i = 0; i < 10; i++) 
{ 
    cout << bowlerNames[i] 
      << bowlerScores[i][0] 
      << bowlerScores[i][1] 
      << bowlerScores[i][2]; 
} 
} 
else cout << "Unable to open file..." <<endl; //Gives that sentence if the file can't be opened 

inFile.close(); 

cout << endl; //spacing 
system("Pause"); 
return 0; 
} 
+0

Какой выход из вашей программы? –

+0

Вывод перед исправлением проблемы обратной косой черты (Thx Floris) был «не удалось открыть файл» :) – setherj

ответ

2

Все обратные косые должны быть двойной обратный слэш!

inFile.open("C:\\Users\\Seth\\Documents\\bowlingData.txt"); 

Подтвердить это для себя делать что-то вроде этого:

string fileName = "C:\\Users\\Seth\\Documents\\bowlingData.txt"); 
cout << fileName << endl; 
+0

Кажется, что это сработает. Но почему бы не открыть его, когда я просто имел имя файла там (без обратной косой черты). Я имел оба файла в том же каталоге, насколько мне известно. – setherj

+0

Я не могу ответить на вопрос «почему он не открылся, когда я использовал относительный путь», - недостаточно информации, извините. Рад, что все работает так. – Floris

+0

У меня был inFile.open ("bowlingData.txt"); но все же он не открывался, даже когда они находились в одном каталоге. – setherj

Смежные вопросы