Войти

Показать полную графическую версию : Замена символов


Guest
10-03-2003, 00:48
Как написать программу на Си, которая бы заменяла определенные символы,вводимые с клавиатуры, на другие (например все А на Б). Вводится типа string.

mar
10-03-2003, 01:42
программу на Си
Вводится типа string.
Guest ты уверен? ;)

Guest
11-03-2003, 00:53
Нет. Просто на Си. Со стрингом вылетело случайно, пардон.

Vaulter
11-03-2003, 01:36
ну std::string то есть в Си++ как контейнер
а вообще принцип:
сделать хук на клаву.
обрабатывать поступающие коды и если че
заменять (как? отдельный разговор) )))

Akaam
11-03-2003, 07:16
#include <conio.h>
int main(int argc, char* argv[])
{
*intsImp;
*for(;;)
*{
* *sImp=getch();
* *if(sImp==27)
* * *break;
* *if(sImp=='a')
* * *sImp='b';
* *if(sImp=='A')
* * *sImp='B';
* *putch(sImp);
*}
*return 0;
}



Исправлено: noname00.pas, 8:06 19-03-2003

Guest
12-03-2003, 00:11
Большое Спасибо

Guest
12-03-2003, 17:04
А если сначала просто вводится, без замены (ввели какое-то предложение), а потом происходит замена и выводится уже с заменой.

Crew
18-03-2003, 22:31
#include <stdio.h>
#include <string.h>
int repl(char *source,const char*str1,const char *str2)
{
* *int len_source=strlen(source);
* *int len2=strlen(str1);
* *int len3=strlen(str2);
* *if (len_source==0||len2==0||len3==0)
* * * * *return -1;
* *if (len2!=len3)
* * * * *return -2;

* *for (int i=0;source[i]!='\0';i++)
* *{
* * * for (int j=0;j<len2;j++)
* * **if (source[i]==str1[j])
* * *{
* * * * *source[i]=str2[j];
* * *}
* *}
*return 0;
}
void main()
{
* *char str[]="This is a string ABC";
* *repl(str,"A","Z");
* *printf("%s\n",str);
}


Хотя возможно есть уже такая функция встроенная где-нибудь

Исправлено: Crew, 22:35 18-03-2003

Добавлено:

И зачем оно курсивом стало? :(
Не буду исправлять второй раз, но можно вызывать и так
repl(str,"AaW","Bbz")
меняется
A на B
a на b
W на z


Исправлено: noname00.pas, 8:06 19-03-2003

noname00.pas
19-03-2003, 11:09
Товарищи! Используйте пожалуйста тег CODE ;-)

Crew
19-03-2003, 22:09
noname00.pas
Уговорили, только курсив в коде остался
:(

noname00.pas
19-03-2003, 22:14
Это временные неполадки, которые (возможно) скоро будут устранены :-)

ivank
19-03-2003, 23:11
noname00.pas
Эээ... Это скоро уже год тянется :)

Теперь внутри [][] тэги не действуют.

noname00.pas
20-03-2003, 01:01
IvanK, а ты прочитал соответствующую тему в админском форуме?

ivank
20-03-2003, 17:55
noname00.pas
Ты не поверишь, но ты же этот вопрос поднимал и ранее (как раз около года назад), но мне было лень напрягаться и я использовал традиционную отмазу в стиле "и так удобно".

А тему я по непонятным причинам вчера не заметил, т.е. заметил только сегодня, когда уже всё было исправлено :)




© OSzone.net 2001-2012