Форум программистов, компьютерный форум CyberForum.ru

Скопировать строку в переменную - C++

Восстановить пароль Регистрация
 
fragnat
 Аватар для fragnat
11 / 11 / 0
Регистрация: 17.12.2009
Сообщений: 77
01.04.2012, 17:22     Скопировать строку в переменную #1
Здравствуйте, программа читает txt файл, в нем есть несколько строк, я хочу записать содержимое 2(для примера) строки в переменную. Меня направили почитать об std::string и std::getline, там не нашел ответа, хотя может быть что-то упустил(с английским не очень хорошо). В google нашел вариант с использованием boost::spirit, но он очень тяжелый для новичка.

На чем я остановился:
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
class account
{
private:
    string login;
    string pwd;
};
 
int main()
{
ifstream f("file.txt");
  while (true)
  {
    string v;
    f >> v;
    if (!f.eof())
      cout << v << endl;
    else
      break;
  }
 
    
return 0;
;}
file.txt
admin
password
user
password
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.04.2012, 17:22     Скопировать строку в переменную
Посмотрите здесь:

Как скопировать строку в буфер обмена? C++
C++ Скопировать подстроку в строку до последнего пробела
Скопировать строку C++
C++ Вторую строку нужно скопировать в конец первой
Скопировать в новую строку нужный символ из слова C++
C++ Скопировать первую половину введенной строки в другую строку
C++ Разделить строку на строку и переменную
C++ Как скопировать строку из структуры в массив?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
LVV
56 / 56 / 3
Регистрация: 15.02.2010
Сообщений: 239
02.04.2012, 08:39     Скопировать строку в переменную #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
ifstream f("file.txt");//обьявляем файловую переменную f и открываем для чте5ния файл file.txt
setlocale (0,"");//вкл. кодировки для вывода кирилицы
cout <<   "введите номер считываемой строки ";
    int n;
    cin >> n;
  string s;
    for (int i=0; i<n; i++)//последовательно считываем строки, пока не дойдём до нужного номера
    {
        if (!f.eof())//пока не достигнут конец файла
        getline (f,s);//чтение строки с пробелами и табуляцией (из файла f в переменную s)
        else
        cout << "такого номера строки не существует" << endl;
    }
  f.close();
 
cout << n << "-я строка:  " << s << endl;
system ("pause");
return 0;
}
Добавлено через 14 часов 37 минут
немного подправил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
int main()
{
ifstream f("file.txt");
setlocale (0,"");
cout <<   "введите номер считываемой строки ";
    int n;
    cin >> n;
  string s;
  int i;
    for (i=0; (i<n && !f.eof()); i++)
        getline (f,s);
 
f.close();
 
if (i==n && i>0)
    cout << n << "-я строка:  " << s << endl;
else
    cout << "такого номера строки не существует" << endl;
    
system ("pause");
return 0;
}
Yandex
Объявления
02.04.2012, 08:39     Скопировать строку в переменную
Ответ Создать тему
Опции темы

Текущее время: 08:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru