小编Sar*_*man的帖子

解析$ PATH变量并将目录名称保存到字符串数组中

我想解析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)

c malloc bash gcc strtok

3
推荐指数
1
解决办法
809
查看次数

将文件输入流中的列表存储在LISP中的变量中

我可以在.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)

lisp common-lisp

0
推荐指数
1
解决办法
164
查看次数

标签 统计

bash ×1

c ×1

common-lisp ×1

gcc ×1

lisp ×1

malloc ×1

strtok ×1