Недавно я услышал, как мой профессор говорил о возможности сделать что-то подобное. Я не могу найти ни одного метода, который звучит так, как если бы он это сделал. Так что мой вопрос стоит. В стандартном цикле getchar while, как бы заглянуть в следующий символ. В этом цикле я передаю некоторые массивы и получаю символы переключателя цикла из массива s 'chars в массивы news' chars для строки, которая помещается через командную строку.getchar()! = EOF Loop peeking at next char
В любом случае код делает то, что он предназначен для большинства случаев, за исключением того, что он также должен учитывать символы «/ t» и т. Д. Как один символ, а не два. Я думал о проверке, если (c == '\'), а затем проверяет, будет ли следующий символ ar, t, n и т. Д.
TL: вопрос о том, как заставить этот цикл найти escape-последовательности символов и рассматривать их как один символ вместо двух? Большое спасибо.
void tr_str(char s[], char news[]){
int c;
size_t k =0;
while ((c = getchar()) != EOF)
{
for(k=0; k < strlen(s);k++)
{
if(c == s[k])
{
c = news[k];
}
}
putchar(c);
}
}
Awesome. Есть ли способ объединить это с тем, что у меня есть? В настоящее время программа делает немного, но в большинстве случаев нет escape-символов. обычно пользователь вводит (a, b, d, e), затем (w, x, y, z), затем строку программа заменит первую последовательность второй последовательностью banana = xwnwnw Проблемы возникают при входе пользователей (\, n, \, \, \, b) (x, y, z), а затем говорят: \ n '' \\ '' \ b ' – TheUnknown
Похоже, вы сами решаете это , поэтому я не знаю, что сказать здесь. –