C 在字符串中查找未知单词

C 在字符串中查找未知单词,c,C,我正在构建一个简单的菜单,并提出了一个疑问:用户将有一些已定义的命令,例如,一个条目将是“compact image.jpeg”。如何从字符串中间获取文件名和扩展名?如果这是需要从中获取文件名的字符串的实际示例,您可以: 拆分将分隔符定义为空格的字符串 选择拆分的最后一个位置,并选择文件扩展或期间之前的所有内容 使用strstr在“haystack”中查找“needle”的实例-例如,它将返回“.”的索引,并且您可以使用此索引构造包含文件名和扩展名的新字符串 希望这有帮助 这可能是定义语法和解析

我正在构建一个简单的菜单,并提出了一个疑问:用户将有一些已定义的命令,例如,一个条目将是“compact image.jpeg”。如何从字符串中间获取文件名和扩展名?

如果这是需要从中获取文件名的字符串的实际示例,您可以:

  • 拆分将分隔符定义为空格的字符串
  • 选择拆分的最后一个位置,并选择文件扩展或期间之前的所有内容

  • 使用strstr在“haystack”中查找“needle”的实例-例如,它将返回“.”的索引,并且您可以使用此索引构造包含文件名和扩展名的新字符串


    希望这有帮助

    这可能是定义语法和解析命令的地方(lex、yacc等)。或者,您可以使用特别的解析系统,并识别
    compact
    是一个关键字,
    image
    compact
    的有效限定符,后面是一个文件名。您可以设计专门的解析代码来处理这个问题。这并不特别困难;这也不是很令人兴奋。