Здравствуйте, помогите пожалуйста, проблема в функции getline()
,которая принимает 2 аргумента: Входной поток, из которого следует извлечь строку и строка, в которую считываются символы из входного потока. Есть дополнительный 3й аргумент , но я его не использую.
Моя проблема , что я реализую собственный класс String
и getline()
конечно же ругается на второй аргумент, так как он не тот, который ему нужен, а мой пользовательский.
не могли бы мне подсказать, как правильно реализовать метод getline()
с моим аргументом?
Я надеюсь, что мой класс String, я реализую правильно, поэтому , я не показываю его код из-за объема и ненадобности. Проблема в методе.
Код , где я использую getline()
:
string str; // typedef мой класс Sring для удобства
int readCount = 0;
int n = atoi(num);
readRecord.open(fileName);
if (_access(fileName, 0) != 0) {
std::cout << "Error:FILE NOT FOUND" << std::endl;
exit(1);
}
else {
while (std::getline(readRecord, str))// здесь именно моя проблема
{
readCount++;
lines.push_back(str);
}
Вам нужно реализовать свою функцию. Вариант первый - берете стандартную, читаете в стандартную строку, а потом присваиваете эту строку вашей.
Вариант второй - читаете по символу, пока не встретите '\n', и добавляете их в свою строку. Тоже ничего сложного. Правда, не самый эффективный способ, но, думаю, для обычных применений вполне годится. Можно в принципе работать прямо с rdbuf
, это быстрее, но и писать сложнее.
Поскольку ничего о внутренностях вашей строки вы не написали, никаких набросков кода привести не могу.
Вопрос предельно прост: надо посчитать количество единиц в двоичном представлении числа за О(1)Линии и логарифмы даже не предлагайте
ЗдравствуйтеС какой СУБД проще всего работать новичку в C++? На C# работал с Access, но теперь эта СУБД запрещена, поэтому нужна альтернатива
Не вполне понимаю, как работает shared_mutex в 17-ом стандарте или в boostТакая ситуация: несколько читателей одновременно захватывают этот мьютекс,...