Есть вопрос по потокам ввода/вывода
код:
#include <iostream>
#include <ostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ifstream fin("input.txt");
char string[255];
for (int n = 0; n < size(string); ++n)
{
fin >> string[n];
}
for (int n = 0; n < size(string) - 1; ++n)
{
cout << string[n];
}
}
в файле input.txt лежит текст "Hello world 123" (без кавычек) на выходе в консоли получаю этот текст и тучу символов непонятных следом.
I need help :)
Вы нигде не проверяете, прочитались символы, или нет. На каждой итерации первого цикла необходимо запрашивать состояние потока и запоминать количество прочитанных символов:
size_t const capacity{size(string)}
size_t size{capacity};
for (size_t n{}; n < capacity; ++n)
{
fin >> string[n];
if(not fin)
{
size = n;
break;
}
}
for (size_t n{}; n < size; ++n)
{
cout << string[n];
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть таблица wxPropertyGrid с различными полями (wxStringProperty, wxUIntProperty, wxBoolProperty и тд
Существуют ли оптимизации компилятора, которые могут привести к изменению наблюдаемого поведения программы? Если да, то какие?
Что будет производительней в общем случае: вектор пар или 2 вектора, где каждый содержит свой элемент?