このコードを試しています...パスをディレクトリとファイルとして分割したいと思います。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
using namespace std;
void SplitFilename (const char * str)
{
size_t found;
cout << "Splitting: " << str << endl;
found=str.find_last_of("//");
cout << " folder: " << str.substr(0,found) << endl;
cout << " file: " << str.substr(found+1) << endl;
}
int main() {
char *outFile1 = NULL;
outFile1 = "//tmp//Softwares//v//vdisk";////tmp//iscsi//target1//lun1
char* outFile2 = (char*) malloc(strlen(outFile1) + strlen(".meta") + 1);
strcpy(outFile2,outFile1);
strcat(outFile2, ".meta");
cout << "str2:" << outFile2 << "\n";
SplitFilename (outFile2);
}
これらのエラーが発生しています
../src/test.cpp:20: エラー: 'str' のメンバー 'find_last_of' の要求。これは非クラス型 'const char*' です../src/test.cpp:21: エラー: 要求非クラス型 'const char*' の 'str' のメンバー 'substr' ../src/test.cpp:22: エラー: 非クラス型の 'str' のメンバー 'substr' の要求-クラス型「const char*」</p>
文字ポインタを SplitFilename() 関数に渡すことで、どのように機能させることができるか教えてください。