С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.86
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
#1

конкатенация строк - C++

14.05.2012, 13:45. Просмотров 2888. Ответов 10
Метки нет (Все метки)

Доброго времени суток!
есть следующий код, который читает файл:
C++
1
2
3
4
5
6
7
8
9
10
11
 char line[1024];
        string str = "";
        ifstream F("file.txt");
        if (!F) {
            return;
        } else {
            int i = 0;
            while (F.getline(line, sizeof(line))) {
                //добавлять в str line
            }
        }
как сделать так, чтобы в str был весь текст, т.е. сделать конкатенацию?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.05.2012, 13:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос конкатенация строк (C++):

Конкатенация строк - C++
Разбираю учебный пример - написать класс для работы со строками. Всего два поля: private: int _size; // длина строки, без...

конкатенация строк - C++
Подскажите, почему не компилируется код: std::string ExtractFileName(std::string filename) { if (filename.size() == 0)...

Конкатенация строк s1 и s2 - C++
Есть код консольного приложения. В конце когда ответ, какието символы. Где же что не так?? #include "stdafx.h" #include...

Конкатенация строк - C++
Помогите,пожалуйста,идиоту.Не понимаю как правильно конкатенацию строк написать("сложение" строк) #include <iostream> class...

Конкатенация строк - C++
Частью задания является реализовать функцию strcat. Возникает какая-то ошибка (см.фото). 1.Вы могли бы подсказать в чём ошибка? 2.Не по...

Конкатенация строк - C++
Нужно объединить три строки: "txt/" + i + ".txt" в char* URL. i переменная в цикле. Сделал так: strcpy(URL, "txt/\0"); ...

10
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.05.2012, 13:53 #2
C++
1
str += line;
1
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
14.05.2012, 13:56  [ТС] #3
ForEveR, спасибо)
а как добавлять перенос строки "\n", просто если в файле 3 строки, то после цикла выводится все в одну строку?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.05.2012, 15:39 #4
blackbanny,
C++
1
str += line + "\n";
1
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
14.05.2012, 16:12  [ТС] #5
ForEveR, то и я туплю, то ли IDE глючит... вроде писал так и ошибка была...
а можно теперь в цикле получить код каждого символ str? (у английской A код 65)
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.05.2012, 16:15 #6
blackbanny,
C++
1
2
3
4
5
for (std::string::iterator iter = str.begin(); iter != str.end(); ++iter)
{
   std::cout << static_cast<int>(*iter) << " ";
}
std::cout << std::endl;
1
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
14.05.2012, 16:34  [ТС] #7
ForEveR, а если я буду каждый символ кодировать интом, то память под массив так выделять:
C++
1
int *codes = new int[sizeof(str)];
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.05.2012, 16:35 #8
blackbanny, Нет.
C++
1
int* codes = new int[str.length()];
или юзать вектор.
1
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
14.05.2012, 16:44  [ТС] #9
ForEveR, а подскажите библиотеку для работы с большими числами?
например чтобы возвести x = 4051753 в степень y = 6111579
я так понимаю, что в стандартные типы такие числа не влезут?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
14.05.2012, 16:46 #10
blackbanny, Нет. Гугл в помощь.
0
blackbanny
130 / 117 / 2
Регистрация: 14.11.2010
Сообщений: 707
14.05.2012, 17:19  [ТС] #11
ForEveR, я нашел что можно использовать BigInteger...
скачал отсюда
подключил все файлы, все ок работает.
а как собрать из этих файлов .lib, чтобы подключать только один файл, а не несколько?
работаю в MS VS 2008
0
14.05.2012, 17:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2012, 17:19
Привет! Вот еще темы с ответами:

Конкатенация строк - C++
Должно быть консольное приложение. Очень простой вопрос, но сам что-то завис, и немогу найти что хочу. Значит так есть такой кусок кода ...

Конкатенация строк - C++
Здравствуйте, у меня такая проблема. Имеется переменная типа LPCWSTR мне в нее необходимо сохранить другую переменную типа LPCWSTR и...

Конкатенация строк - C++
Написать программу, которая делает сложение унарных чисел. Я написал программу, она даже правильно считает, но как мне потом сказали,...

Конкатенация строк - C++
Здраствуйте. Проблема в следующем: (строка 57) нужно прибавить элемент массива типа string к переменной типа string, но при запуске...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.