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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.06.2010, 20:42   #1
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию строки

Объясните как это правильно раз рулить на С++
Код:
void can(String S)
{

if (S[StrLen(S)]-1) != '\'){
         S = S + '\';}

}

Последний раз редактировалось StartMis; 06.06.2010 в 20:45.
StartMis вне форума Ответить с цитированием
Старый 06.06.2010, 21:11   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
#include <string>

using std::string;

void can(string &s)
{
if(s[s.size() - 1]!='\')
s.push_back('\');
}
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 06.06.2010, 21:17   #3
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

ругается на size
StartMis вне форума Ответить с цитированием
Старый 06.06.2010, 21:20   #4
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

показывай весь код и текст ошибки
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 06.06.2010, 21:32   #5
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

может там просто предупреждение, а не ошибка
size возвращает unsigned int, соответственно:
Код:
if(s[(int)s.size() - 1]!='\')
NiCola999 вне форума Ответить с цитированием
Старый 06.06.2010, 21:34   #6
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

Код:
//---------------------------------------------------------------------------


#include <string>
using std::string;

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void can(string &s)
{
if(s[s.size() - 1]!='\')
s.push_back('\');
}
ошибка E2380 Unterminated string or character constant
StartMis вне форума Ответить с цитированием
Старый 06.06.2010, 21:37   #7
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Код:
void can(string &s)
{
if(s[s.size() - 1]!='\\')
s.push_back('\\');
}
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 06.06.2010, 22:03   #8
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

можно объяснить все что написано
Код:
void can(string &s)
{
if(s[s.size() - 1]!='\\')
s.push_back('\\');
}
StartMis вне форума Ответить с цитированием
Старый 06.06.2010, 22:10   #9
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

передаётся в функцию параметр типа string по значению. Если предпоследний символ не равен \ то в конец строки добавляется \

Пишется \\ а не \ так как \ это служебный символ и чтобы написать служебный символ надо сначала \ а потом символ, например \\,\',\" и т.д
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 06.06.2010, 22:18   #10
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

не понял вить \ взят ' '. и для чего предназначен служебный символ \
StartMis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определять максимальную длину той части строки s, которая не содержит символы из строки s1. Александе еть я Общие вопросы C/C++ 5 13.04.2010 20:54
Строки - сдвиг строки в право[C++] ArniLand Общие вопросы C/C++ 1 06.04.2010 15:47
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Строки. Как вывести часть строки? Anfall Общие вопросы Delphi 7 26.02.2009 09:10
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27