0

たとえば../bin/test.c、文字列を持っているので、その部分文字列を取得するにはどうすればよいtestですか?

strtokapiを試してみましたが、よくないようです。

  char a[] = "../bin/a.cc";
  char *temp;
  if(strstr(a,"/") != NULL){
    temp = strtok(a, "/");
    while(temp !=NULL){
      temp = strtok(NULL, "/");
    }

  }
4

3 に答える 3

0
#include <stdio.h>
#include <string.h>

int main(void){
    char a[] = "../bin/a.cc";
    char name[16];
    char *ps, *pe;
    ps = strrchr(a, '/');
    pe = strrchr(a, '.');
    if(!ps) ps = a;
    else ps += 1;
    if(pe && ps < pe) *pe = '\0';
    strcpy(name, ps);

    printf("%s\n", name);
    return 0;    
}
于 2013-05-23T12:56:04.083 に答える