English 中文(简体)
Substring C from string such as rafter1/file1.txt
原标题:Substring C from string like folder1/file1.txt

i have strings like "folder1/file1.txt" or "foldername1/hello.txt" and i need to take the substring that identify the folder name with the slash (/) included
(example: from "folder1/file1.txt" i need "folder1/").
The folders name are not all with the same length. How can i do this in C?? thanks

最佳回答

第一,发现火rch的火力:

char * f = "folder/foo.txt";  // or whatever
char * pos = strchr( f,  /  );

然后复制成一个合适的地点:

char path[1000];   // or whatever
strncpy( path, f, (pos - f) + 1 );
path[(pos-f)+1] = 0;    // null terminate

你应该真正写出这样做的职能,如果 st夫返回全国人民军,你需要决定做些什么,表明那里没有冲突。

问题回答

如果是最后一种/特性,则提高一种特性,则缩小了该特征。 假设扼杀是可变的,由<编码>char*filename;:

char *p;

p = strrchr(filename,  / );
if (p)
{
    p[1] =   ;
}

/* filename now points to just the path */

您可以发挥“斯特鲁”职能:

char *s = "folder1/file1.txt";
char folder[100];

char *p = strstr(s, "/");
if (0 != p)
{
    int len = p - s + 1;
    strncpy(folder, s, len);
    folder[len] =   ;
    puts(folder);
}




相关问题
Simple JAVA: Password Verifier problem

I have a simple problem that says: A password for xyz corporation is supposed to be 6 characters long and made up of a combination of letters and digits. Write a program fragment to read in a string ...

Case insensitive comparison of strings in shell script

The == operator is used to compare two strings in shell script. However, I want to compare two strings ignoring case, how can it be done? Is there any standard command for this?

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

String initialization with pair of iterators

I m trying to initialize string with iterators and something like this works: ifstream fin("tmp.txt"); istream_iterator<char> in_i(fin), eos; //here eos is 1 over the end string s(in_i, ...

break a string in parts

I have a string "pc1|pc2|pc3|" I want to get each word on different line like: pc1 pc2 pc3 I need to do this in C#... any suggestions??

Quick padding of a string in Delphi

I was trying to speed up a certain routine in an application, and my profiler, AQTime, identified one method in particular as a bottleneck. The method has been with us for years, and is part of a "...

热门标签