在 C 之前/中获取部分字符串(字符)
Get part of string(chars) before / in C
如果输入中提供了“/”,我想从用户输入中获取字符串的一部分。
我使用 strchr() 函数来检查“/”。
我的实际问题是能够在 / 之前获取第一个字符串 dir/filename.txt,我想从提供的字符串(字符数组)中获取目录。
创建文件夹不是问题,因为 mkdir() 会帮助我实现它。问题是关于获取字符串的一部分,这是我提到全局问题的原因,即使用该字符串创建文件夹。
char filename = "dir/file.txt";
if(strchr(filename, '/') !=NULL)
{
//slash found
}
我想删除“/”之前的第一部分,如 dir/filename.txt 我想获取目录。我检查了执行此操作的任何函数,但找不到。
问题已解决。
当使用
找到斜杠时,我能够检查用户的输入并创建一个目录
basename(user's input);
它是 returns / 之前的第一部分。
继续阅读 strchr()
,例如这里
https://en.cppreference.com/w/c/string/byte/strchr
如果你想要最后一个 /
。
https://en.cppreference.com/w/c/string/byte/strrchr
如果 return 值不为 NULL,则它指向您要搜索的内容,即 /
。
如果您在输入字符串的 non-const 副本上使用它(例如,通过 https://en.cppreference.com/w/c/string/byte/strncpy 填充的字符数组),则可以将其替换为 [=13=]
以终止字符串在那时候。结果是一个在第一个(或最后一个)/
.
之前结束的字符串
如果输入中提供了“/”,我想从用户输入中获取字符串的一部分。
我使用 strchr() 函数来检查“/”。 我的实际问题是能够在 / 之前获取第一个字符串 dir/filename.txt,我想从提供的字符串(字符数组)中获取目录。
创建文件夹不是问题,因为 mkdir() 会帮助我实现它。问题是关于获取字符串的一部分,这是我提到全局问题的原因,即使用该字符串创建文件夹。
char filename = "dir/file.txt";
if(strchr(filename, '/') !=NULL)
{
//slash found
}
我想删除“/”之前的第一部分,如 dir/filename.txt 我想获取目录。我检查了执行此操作的任何函数,但找不到。
问题已解决。 当使用
找到斜杠时,我能够检查用户的输入并创建一个目录basename(user's input);
它是 returns / 之前的第一部分。
继续阅读 strchr()
,例如这里
https://en.cppreference.com/w/c/string/byte/strchr
如果你想要最后一个 /
。
https://en.cppreference.com/w/c/string/byte/strrchr
如果 return 值不为 NULL,则它指向您要搜索的内容,即 /
。
如果您在输入字符串的 non-const 副本上使用它(例如,通过 https://en.cppreference.com/w/c/string/byte/strncpy 填充的字符数组),则可以将其替换为 [=13=]
以终止字符串在那时候。结果是一个在第一个(或最后一个)/
.