我想解析Linux的$ PATH变量,然后将用':'分隔的目录名保存到字符串数组中.
我知道这是一个简单的任务,但我被困住了,任何帮助都会很好.
到目前为止我的代码是这样的,但有些东西是不对的.
char **array;
char *path_string;
char *path_var = getenv("PATH");
int size_of_path_var = strlen(path_var);
path_string = strtok(path_var, ":");
while (path_string != NULL) {
ss = strlen(path_string)
array[i] = (char *)malloc(ss + 1);
array[i] = path_string; //this is actually all i want to do for every path
i++;
path_string = strtok(NULL, ":");
}
Run Code Online (Sandbox Code Playgroud) 我可以在.txt文件中说出以下列表
(5 3 1)
我正在尝试使用以下源代码,将上面的列表存储在LISP中的变量中.在第一种格式之前,一切似乎都是对 但后来我意识到这*originalStateVar*不是被视为具有3个原子的列表,而是作为具有1个原子的列表.源代码如下:
(defvar *originalStateVar*)
(defun fileInput ()
(let ((i 1)(in (open *originalStateLocation* :if-does-not-exist nil)))
(when in
(loop
for line = (read-line in nil)
while line do
(format t "~a~%" line) ;debug line
(format t "i is <~a>~%" i) ;debug line
(setf *originalStateVar* (list line)) ;storing list in variable
(setf i (+ i 1))) ;debug line
(close in))
(format t "originalStateVar is <~a>" (car *originalStateVar*))
(format t "second element originalStateVar is <~a>~%" (cadr *originalStateVar*))
(format …Run Code Online (Sandbox Code Playgroud)