【发布时间】:2014-02-09 08:09:59
【问题描述】:
我正在尝试从我在参数中获得的文件名(比如C:\some\dir\file)动态获取父目录(比如C:\some\dir),并将其放入char*。我已经在char* 中有完整的路径和文件。我将如何在 C 中做到这一点?
我有一些代码,但在我看来都是乱码,我无法理解。我应该如何重做/重写这个?
/* Gets parent directory of file being compiled */
short SlashesAmount;
short NamePosition;
short NameLength;
char* Pieces[SlashesAmount];
char* SplitPath;
short ByteNumber;
short PieceNumber;
char* ScriptDir;
NameLength = strlen(File);
//Dirty work
SplitPath = strtok(File, "\");
do {
ByteNumber = 0;
do {
File[NamePosition] = CurrentPiece[ByteNumber];
NamePosition++;
} while(File[NamePosition] != '\n');
PieceNumber++;
} while(NamePosition < NameLength);
【问题讨论】:
-
使用
char *strrchr(const char *string, int c);dostrrchr(File, '\\') = '\0';notestrtok()修改第一个参数。