Итак, я должен сделать Глоссарий, scanf всегда будет читать один символ и некоторый текст, первый символ - это действие, которое мне нужно сделать, например стереть что-то, включить или напечатать.Другая часть - это слово, которое я добавлю или уберу, а все остальное - это значение.Иногда я получаю только символ для действия, например, «напечатать все», или я могу получить что-то вроде «значение слова», чтобы удалить значение, но я также могу получить «слово» и уменьшить значение слова и значение, связанное с ним., поэтому запись не всегда одинакового размера.Входные случаи:
i word meaning
q word
e word
e word meaning
p
со значением "означающее", потому что строка имеет вид "имеет красный цвет"
Я пытался использовать strtok и strcat, чтобы собрать их вместе для значения, нобезуспешно, этот код, который я оставил здесь, просто пример, я знаю, что он не работает
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void){
char str[] = "a bbbbbbbbbb cccc ccccccccccc cccc";
char* temp;
char* rest = str;
int i = 0;
char op[2];
while ((temp = strtok_r(rest, " ", &rest))){
printf("%s ", temp);
if (i>=2){
strcat(op[2],temp);
}
op[i]=temp;
i++;
}
return(0);
}
действие: слово: bbbbbbbbbb значение: cccc ccccccccccc cccc