Итак, у меня два простых вопроса.Во-первых, моя функция в порядке для чтения текстового файла, состоящего из одного числа в каждой строке, и передачи его в массив внутри main ()?И правильно ли открывается / закрывается текстовый файл или я не понимаю код?
И во-вторых, я не могу заполнить свой массив правильно.Там 92 числа / строки, но я могу только получить 91 элемент.Кажется, пропустить первый номер, но я не уверен, почему.Когда я отлаживаю, я вижу «число», читающее первую строку, но я не знаю, куда оно идет.
Текстовый файл состоит из 92 чисел с десятичными знаками, с числом в каждой строке, подобным этому... и первое число находится в первой строке, между ними нет пробелов и вертикальных пробелов.
31.11
25.22 ...
int getTempData(double temperatures[]) {
ifstream input("pgm6.txt");
if (!input)
return 1; // closes input file
string number;
while (input >> number)
for (int i = 0; i < 91; i++)
{
input >> temperatures[i];
}
}
иinside main ()
const int ARRAY_SIZE = 91;
double temperatures[ARRAY_SIZE];
getTempData(temperatures);
Редактировать: Большое спасибо за помощь всем.Я усвоил урок неиспользования кода, который я не совсем понимаю отсюда: https://www.reddit.com/r/learnprogramming/comments/2wwv6i/c_creating_writing_to_and_displaying_text_files/
#include <fstream> // Instead of <iostream>
#include <string>
using namespace std; // Nothing too much wrong with this...
int main() {
ifstream input("input.txt"); // Open the file "input.txt" for reading
(if = input file)
if ( !input ) // Did the file open correctly?
return 1;
ifstream output("output.txt"); // Open the file "output.txt" for writing
(of = output file)
if ( !output ) // Did the file open correctly?
return 1; // C++ automatically closes the input file!
string word;
**while ( input >> word )** // Read a word while the file isn't at its
end
output << word << '\n'; // Write the word on its own line
// C++ automatically closes the output file
// C++ automatically closes the input file
}