Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4 / 4 / 6
Регистрация: 10.12.2016
Сообщений: 182
1

Копирование строк

16.01.2018, 20:52. Просмотров 1091. Ответов 3
Метки нет (Все метки)


Доброго времени суток!

Передо мной стоит следующая задача: "Дан символьный файл f. Найти и записать в файл g самое длинное слово файла f, снабдив
его комментарием."

Но сложность стоит в том, что компилятор "ругается" на функцию strcpy и из-за этого я не могу занести слово из промежуточной строки в результирующую.

Вот код:
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
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <string>
#include <string.h>
using namespace std;
 
int main()
{
    string bufer, res;
    char *theString = " 1 22 333 "; //строка
    char *theLetter = theString; // здесь будем хранить адрес очередного символа начинаяя с первого
    unsigned counter = 0, // счетчик подсчета букв в слове
        storage = 0; // здесь будем хранить количество букв самого большого слова
 
    while (*theLetter)
    { // повторять пока не прийдет нулевой символ конца
        theLetter++; // увеличиваем очерной адрес на размер символа
 
        if (*theLetter != ' ')
        {// если не пробел
            bufer += theLetter;
            counter++; // увеличиваем счетчик
        }
        else
            if (counter > storage)
            { // если букв больше чем мы знали раньше ,
                storage = counter;   // то сохраним это число
                strcpy(res,bufer);
                counter = 0; // а потом обнулим счетчик подсчета
                bufer = "";
            }
    }
 
    cout << res << endl;
    cout << storage << endl; // результат
 
    return 0;
}
Вот ошибка компиляции:
|27|error: cannot convert 'std::string {aka std::basic_string<char>}' to 'char*' for argument '1' to 'char* strcpy(char*, const char*)'

Буду очень благодарен за помощь!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.01.2018, 20:52
Ответы с готовыми решениями:

Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена
Пожалуйста с этим заданием. Написать программу, которая описывает четыре массива. Три первых...

Копирование строк
Добрый вечер. Столкнулся с Проблемой: надо скопировать содержимое &quot;buff&quot; в &quot;hashes.pointname&quot; ....

Копирование строк
У Страуструпа приведен такой пример для копирования одной строки в другую: void cpy (char* p,...

Копирование строк
Нужно сравнить две строки не учитывая пробелы. Ошибка где-то в копировании a1 в с1 #define...

3
1354 / 992 / 314
Регистрация: 28.07.2012
Сообщений: 2,750
16.01.2018, 22:56 2
Sergey Chepets,
C++
1
res = buffer;
0
4 / 4 / 6
Регистрация: 10.12.2016
Сообщений: 182
17.01.2018, 19:19  [ТС] 3
nonedark2008, спасибо за ответ! А не могли бы подсказать, из-за чего таким способом я не могу добиться нужного результата? и как это исправить?
0
1354 / 992 / 314
Регистрация: 28.07.2012
Сообщений: 2,750
17.01.2018, 20:18 4
Лучший ответ Сообщение было отмечено Sergey Chepets как решение

Решение

Цитата Сообщение от Sergey Chepets Посмотреть сообщение
из-за чего таким способом я не могу добиться нужного результата?
std::string и char * это разные способы хранения строк, так что работать с ними нужно по разному.

Добавлено через 56 секунд
Функция strcpy работает только со строками вида char *.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2018, 20:18

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Копирование строк
Всем доброго времени суток. У меня такой вопрос как можно копировать строка в строку не с заменой,...

копирование строк
ребят, не подкажете как скопировать строку из искомой, начиная с символа а и заканчивая символом б?...

Копирование строк
И опять столкнулся с проблемой. Описываю функцию, которая копирует k символов из строки str в...

Копирование Строк
В общем, я продолжаю разборки с С(++) и у меня снова вопрос, ответ на который ув. тов. Google не...


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

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

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