Я делаю очень простую программу на C, которая имитирует команду export , получая ввод с помощью функции fgets ().
Пример ввода:
KEY = VALUE
Необходимо преобразовать в:
setenv("KEY", "VALUE", 1);
Это легко решить с помощью чего-то похожего на этот код:
key = strtok(aux, "=");
value = strtok(NULL, "=");
Проблема возникаеткогда пользователь вводит значение, начинающееся с одного или нескольких символов, равное =
символов.Например:
KEY === VALUE
Это должно быть преобразовано в:
setenv("KEY", "==VALUE", 1);
Но с моим текущим кодом оно преобразуется в:
setenv("KEY", NULL, 1);
Как мне решить эту проблему?
Спасибо за совет.