LINUX.ORG.RU

История изменений

Исправление XMs, (текущая версия) :

Ну а кто будет проверять, что readAll() у тебя там считало? К тому же, оно возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужной тебе строки, хоть третьей, хоть тысячной.

QFile file("filename");
if (file.open(QIODevice::ReadOnly))
  {
	const size_t linenum = 3;

	QTextStream s(&file);
	QString line;

	for (size_t i = 0; i < linenum; i++)
		line = s.readLine();

	...
	file.close();
  }

Исправление XMs, :

Ну а кто будет проверять, что readAll() у тебя там считало? К тому же, оно возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужной тебе строки, хоть третьей, хоть тысячной.

QFile file("filename");
if (file.open(QIODevice::ReadOnly))
  {
	const size_t linenum = 3;

	QTextStream s(&file);
	QString line;

	for (size_t i = 0; i < linenum; i++)
		line = s.readLine();
	
	...
	file.close();
  }

Исправление XMs, :

Ну а кто будет проверять, что readAll() у тебя там считало? К тому же, оно возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужно тебе строки, хоть третьей, хоть тысячной.

QFile file("filename");
if (file.open(QIODevice::ReadOnly))
  {
	const size_t linenum = 3;

	QTextStream s(&file);
	QString line;

	for (size_t i = 0; i < linenum; i++)
		line = s.readLine();
	
	...
	file.close();
  }

Исправление XMs, :

Ну а кто будет проверять, что оно у тебя там считало? К тому же, readAll() возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужно тебе строки, хоть третьей, хоть тысячной.

QFile file("filename");
if (file.open(QIODevice::ReadOnly))
  {
	const size_t linenum = 3;

	QTextStream s(&file);
	QString line;

	for (size_t i = 0; i < linenum; i++)
		line = s.readLine();
	
	...
	file.close();
  }

Исправление XMs, :

Ну а кто будет проверять, что оно у тебя там считало? К тому же, readAll() возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужно тебе строки, хоть третьей, хоть тысячной.

QFile file("filename");
if (file.open(QIODevice::ReadOnly))
  {
	const size_t linenum = 3;

	QTextStream s(&file);
	QString line;

	for (size_t i = 0; i < linenum; i++)
		line = s.readLine();
	
	...
	file.close();
  }

Исходная версия XMs, :

Ну а кто будет проверять, что оно у тебя там считало? К тому же, readAll() возвращает QByteArray, а не QString. И пусть второе можно получить из первого, так делать не нужно, ибо если файл будет очень большим, тебе никакой памяти не хватит. Вместо этого тебе надо всего лишь в цикле дёргать QTextStream::readLine(), пока не дойдёшь до нужно тебе строки, хоть третьей, хоть тысячной