Как интерпретировать специальные символы в аргументе командной строки в C?
Первая проблема:
Предположим, мы пишем простую программу, которая принимает аргументы командной строки и печатает в файл. Если пользователь вводит
writetofile Здравствуйте! 0 \ n w% orl \ t! @ # y
Баш отвечает с
! 0: событие не найдено.
Если пользователь не знает таких вещей, как использование кавычек ('') или escape-символов ('\'), как мне обрабатывать эти вещи, а не интерпретировать bash как команду?
Вторая проблема:
Как только я получу эти аргументы, как мне интерпретировать их как специальные символы, а не последовательности символов. (т. е. \ t это вкладка, а не '\' 't')
То есть как убедиться, что программа записывает это в файл:
Hello!0
w%orl !@#y
и нет
Hello!0\n w%orl\t!@#y