The popen command works just like the fopen. It just opens a pipe and you have to treat it as a text file; that means, you have to "fgets" the contents of the stream into your program and treat each record as a line in your program. The strtok must be used for each field after read the record.
Another thing to note is you are thinking of the tabulated ls, with various files per line. When you execute ls for other output than the console, you'll get the option "-1", which means one file per line.
Last but not least, use the strtok very carefully as it is the once function I know which destroys the source variable because it replaces the delimiter with a null character; also it has an static pointer which stores the position of the next operation. This means you cannot use 2 strtoks at the same time in your program.