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

Как соединить массив символов и один символ - C++

Восстановить пароль Регистрация
 
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
16.01.2013, 02:08     Как соединить массив символов и один символ #1
C++
1
2
3
4
5
6
7
8
9
10
void Match(char x) {
     if (Look == x) 
        GetChar();
     else {
          char s[20]="\'";
          strcat(s, x);
          strcat(s, "\'");
          Expected(s);
          }
}
ругается... может есть другой способ кроме strcat?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 02:08     Как соединить массив символов и один символ
Посмотрите здесь:

C++ Найти в строке string наиболее часто встречающуюся пару символов и заменить на один новый символ
Заменить в каждой сроке один заданный символ на другой заданный символ C++
C++ Массив строк. Определить количество слов, у которых первый символ встречается в слове еще хотя бы один раз
C++ Соединить их в один упорядоченный массив F. Число сравнений не должно превышать m+n
Преобразовать все слова массива так, чтобы каждый символ в слове повторялся один раз, сохранив общий порядок следования символов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
16.01.2013, 02:12     Как соединить массив символов и один символ #2
C++
1
s[N]=x
не будет работать?
Troll_Face
 Аватар для Troll_Face
599 / 399 / 4
Регистрация: 26.04.2012
Сообщений: 2,070
16.01.2013, 03:22  [ТС]     Как соединить массив символов и один символ #3
Цитата Сообщение от Саня gamer Посмотреть сообщение
не будет работать?
не знаю) сейчас попробую

Добавлено через 1 минуту
C++
1
2
3
char s[4]="\'";
          s[1]=x;
          strcat(s, "\'");
сделал так

Добавлено через 1 час 6 минут
вылетает исключение...
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
int main()
{
    Init();
    Expression();
    system("PAUSE");
    return 0;
}
void Init() {
     GetChar();
}
 
void Expression() {
     char str[20]="mov ax, ";
     str[strlen(str)]=GetNum();   //вот где-то тут исключение....
     str[strlen(str)]='\0';
     EmitLn(str);
}
char GetNum() {
     if (!isdigit(Look))
        Expected("Integer");
     char ch=tolower(Look);
     GetChar();
     return ch;
}
 
void Emit(char* s) {
     cout<<TAB<<s;
}
 
void EmitLn(char* s){
     cout<<TAB<<s<<endl;
}
Добавлено через 57 секунд
или как вообще по-человечески присабачить символ к строке?
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
16.01.2013, 03:27     Как соединить массив символов и один символ #4
Цитата Сообщение от Fatal Error Посмотреть сообщение
ругается... может есть другой способ кроме strcat?
Цитата Сообщение от Fatal Error Посмотреть сообщение
или как вообще по-человечески присабачить символ к строке?
Использовать std::string вместо char

Добавлено через 2 минуты
"\'" -это не один символ, может
C++
1
 '\''
???
Yandex
Объявления
16.01.2013, 03:27     Как соединить массив символов и один символ
Ответ Создать тему
Опции темы

Текущее время: 11:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru