Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2012, 05:31   #1
WinNet
 
Регистрация: 25.07.2012
Сообщений: 4
Вопрос Как сложить строки в C/C++

Доброе время суток, пытаюсь сложить 2 строки прочитанных из разных файлов, использую strcat (str, str_1);
Но в маём случае это неработает.
Код:
 fstream in("file.txt");
        string buf;       
      getline(in, buf);
        ofstream out("file.txt");
        out << in.rdbuf();
       const char *str = buf.c_str();
              cout << "users" << str ;
    {
              char ref;
              ref = *str; 
    ifstream in("file_.txt");
        string buf;       
      getline(in, buf);
        ofstream out("file_.txt");
        out << in.rdbuf();
       const char str_1 = buf.c_str();
              cout << "users" << str_1 ;
               strcat (str, str_1);
    printf( "referens = %s\n", str_1);
}
Что не так? делаю подскажите
Цитата:
E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp In function `int main(int, char**)':
32 E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp invalid conversion from `const char*' to `char'
34 E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp invalid conversion from `const char*' to `char*'
34 E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp initializing argument 1 of `char* strcat(char*, const char*)'
34 E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp invalid conversion from `const char' to `const char*'
34 E:\Dev-Cpp\Projest\Windows\Cahar\main.cpp initializing argument 2 of `char* strcat(char*, const char*)'
E:\Dev-Cpp\Projest\Windows\Cahar\Makefile. win [Build Error] [main.o] Error 1
WinNet вне форума Ответить с цитированием
Старый 25.07.2012, 08:42   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

const char str_1 = buf.c_str();

str_1 это char а c_str возрващает char* (const опущен для наглядности)
waleri вне форума Ответить с цитированием
Старый 25.07.2012, 09:12   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

А чем не подходит простая конкатенация стандартных строк?
Код:
std::string s1 = "Hello, ";
std::string s2 = "World!";
std::cout << s1 + s2;
Но если вдруг вам так принципиально именно с Си-строками, то, во-первых, как уже сказали, вам нужно добавить звездочку, во-вторых... еще очень много чего. Код ваш весьма сюрреалистичен, поэтому трудно указать, что конкретно исправить, чтобы он работал, поскольку даже с учетом ошибок его части противоречат друг другу. Но кое-что все-таки отмечу:
1. const char* - указатели на константу, если вы хотите модифицировать строки, то вам придется испытать жестокое разочарование.
2. Где выделение памяти, если вы хотите что-то делать со строками помимо простого считывания из них?
3.
Код:
char ref;
ref = *str;
Понятия не имею, что это, но в результате в ref будет храниться единственный символ - начальный в строке str. Сомневаюсь, что это то, чего вы хотели.
4.
Код:
fstream in("file.txt");
string buf;       
getline(in, buf);
ofstream out("file.txt");
out << in.rdbuf();
Это я вообще не знаю, что за бред. Считывать и тут же писать в один и тот же файл, причем каким-то странным образом - зачем вам это?
5.
Код:
strcat (str, str_1);
printf( "referens = %s\n", str_1);
Подозреваю, вы хотели в конец str_1 добавить str? Если так, то вы выбрали неверный порядок. Впрочем, ввиду пунктов 1 и 2 это все равно не сработает.

Ну и еще всякие мелочи типа Очень Странной Системы Отступов и сочетания всяких цппшных штук (строки, потоки) с сишными strcat и printf - зачем вам это?
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Php как сложить две строки Кольша PHP 1 16.01.2012 19:38
Как сложить данные массивов edikamn Microsoft Office Excel 1 01.07.2011 13:04
Как быстро сложить связанные строки с формулой Tidus Microsoft Office Excel 8 31.05.2010 10:16
Как сложить дату и число? hkk1208 Microsoft Office Access 12 22.04.2010 13:10
как сложить 2 числа andrey4623 Общие вопросы C/C++ 9 13.12.2007 17:42