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

Сравнение строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Неверное значение http://www.cyberforum.ru/cpp-beginners/thread957033.html
Имеется такой кусок кода: if (second_menu == 0) main_menu(); // главное меню else { weight_menu(); // меню ввода переменной weight switch (second_menu) { case 600: //
C++ Проверка принадлежности точки определенной плоскости Никак не дойдет алгоритм решения задачи -.- Помогите. http://www.cyberforum.ru/cpp-beginners/thread957022.html
Уравнение C++
Помогите пожалуйста, как можно вычислить такое выражение:
C++ 1. Написать программу, которая предлагает пользователя ввести дату рождения
1. Написать программу, которая предлагает пользователя ввести дату рождения отца, в формате YYYY MM DD, затем дату рождения сына, в том же формате, после чего вычисляет, на сколько лет, месяцев и дней отец старше сына и выводит результат в консоль. Программа не учитывает високосный год, и принимает количество дней в каждом месяце равное 30. зделал #include <iostream> using namespace std;...
C++ Округление числа до двух знаков после запятой http://www.cyberforum.ru/cpp-beginners/thread957001.html
8. Написать программу, которая предлагает пользователю ввести дробное число, округляет его до двух знаков после запятой и выводит результат в консоль.
C++ 7. Написать программу, которая предлагает пользователю ввести массу в тоннах (дробное число) и выводит по отдельности количество тонн, килограммов и г 7. Написать программу, которая предлагает пользователю ввести массу в тоннах (дробное число) и выводит по отдельности количество тонн, килограммов и граммов. подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
19.09.2013, 12:42     Сравнение строки
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
int main (void)
{
char *d = "123";
char s[10] = "abs";
char *out;
                        // [0] [1] [2] [3]
out = d;                // '1' '2' '3' '\0'
 
                        //  [3]
printf("%s\n",&out[3]); // '\0'                   // "123\0"
 
strcat(out, "\\");
                        //  [3] [4]
printf("%s\n",&out[3]); // '\\' '\0'              // "123\\0"
 
strcat(out, s);
                        //  [3] [4] [5] [6] [7]
printf("%s\n",&out[3]); // '\\' 'a' 'b' 'c' '\0'  // "123\abc\0"
 
printf("%d\n", strlen(out) );  // 7
 
getch();
return 0;
}
Цитата Сообщение от _ Посмотреть сообщение
out - это указатель на char и ему присваивается адрес указателя d
А d указывает на константную строку
C
1
2
3
4
5
6
7
char *d = "123";
char *out;
 
out = d;
 
cout << &d << endl; // 1200064
cout << &out;       // 1200060
Цитата Сообщение от _ Посмотреть сообщение
будет ошибка во время выполнения программы
У Evg в блоге есть маленькая приписка (5.2), что подобные ситуации борландовский компилятор кушает и не давится, а gcc спотыкается. Поэтому хотелось бы вызвать еще и его самого, чтобы пояснил на пальцах этот маленький пример.

alsav22, есть конкретное условие:
C++
1
2
3
char *d = "123";
char s[10] = "abs";
char *out;
и необходимо в out собрать "123\abc", не трогая при этом ни d, ни s. Если вас не затруднит, покажите как это правильно реализовать.
 
Текущее время: 11:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru