C编程 - 分析一条线

时间:2012-04-26 04:27:41

标签: c

如果我有3个像“a b c”这样的来源,我如何将c与b分开?

struct target *t = target_start;
    char *source_start = p_colon+1;
    while (*source_start == ' ' || *source_start == '\t')
      { source_start++; }
    char *source_end = source_start;
    while (*source_end == ' ' || *source_end == '\t')
      { source_end--; }
    char *p_space = strchr(source_start,' ');
    //while(p_space != NULL)

//list_sources_append(&sources, source_start);
list_targets_append(&sources, t->source = source_start);
source_end++;
*source_end = '\0';

3 个答案:

答案 0 :(得分:4)

查找strtok()函数将字符串分解为一系列标记。

答案 1 :(得分:2)

假设文件名由空格分隔,并且不包含任何空格,最简单的方法可能是sscanf(input, "%s %s %s", a, b, c);

答案 2 :(得分:2)

使用isspace()即可。