String Problem
-
Hi All I have a problem to cut the string.How can i cut this string last file name. Old String
C:\abc\cd\as.txt
And i want to show New String
C:\abc\cd
Plz help me
You can use of CStringMid or CString:Left.
-
Hi All I have a problem to cut the string.How can i cut this string last file name. Old String
C:\abc\cd\as.txt
And i want to show New String
C:\abc\cd
Plz help me
You can use
CString::ReverseFind()
to get the zero based index of the last backslash and then truncate it withCString::Mid()
. You can also use _splitpath() to split a path into its contents and then rebuild the string."It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown -
Hi All I have a problem to cut the string.How can i cut this string last file name. Old String
C:\abc\cd\as.txt
And i want to show New String
C:\abc\cd
Plz help me
How is declared your string? :)
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
How is declared your string? :)
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
Hence follow the Roger Stoltz's advice [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
You can use
CString::ReverseFind()
to get the zero based index of the last backslash and then truncate it withCString::Mid()
. You can also use _splitpath() to split a path into its contents and then rebuild the string."It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown -
Something like the snippet below This is at the top of my head and I haven't tried to compile it, but you should get the idea anyway...
CString FullPath = _T("C:\\abc\\cd\\as.txt");
CString DirPath;
int nPos = FullPath.ReverseFind( _T('\\') );if( nPos >= 0 )
{
DirPath = FullPath.Mid( 0, nPos + 1 );
}"It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown -
Hence follow the Roger Stoltz's advice [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles] -
u can use the ReverseFind() and mid() functions to cut the file name. please check the examples the functions.
-
Hi, Roget scoltz has given a nice solution. Did you tried that. CString FullPath = _T("C:\\abc\\cd\\as.txt"); CString DirPath; int nPos = FullPath.ReverseFind( _T('\\') ); if( nPos >= 0 ) { DirPath = FullPath.Mid( 0, nPos); } AfxMessageBox(DirPath);
-
Hi, Roget scoltz has given a nice solution. Did you tried that. CString FullPath = _T("C:\\abc\\cd\\as.txt"); CString DirPath; int nPos = FullPath.ReverseFind( _T('\\') ); if( nPos >= 0 ) { DirPath = FullPath.Mid( 0, nPos); } AfxMessageBox(DirPath);
-
Roger said to you how to do it, you then comeback to ask for code. Now, there's something else which is utterly similar, but you want someone else to do it for you. Why don't you write your code yourself? Today is a good day to start.
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
-
Roger said to you how to do it, you then comeback to ask for code. Now, there's something else which is utterly similar, but you want someone else to do it for you. Why don't you write your code yourself? Today is a good day to start.
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
-
Not code just tell me how can i cut this C:\\abc\\cd\\as.txt and show C:\abc. Thanks in advance
The idea was given to you here[^]. Why don't you try to devise a logic? If you want to strip down to the first directory from the root, then why not use CString::Find() instead of CString::ReverseFind() ?!
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
-
The idea was given to you here[^]. Why don't you try to devise a logic? If you want to strip down to the first directory from the root, then why not use CString::Find() instead of CString::ReverseFind() ?!
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
You're wasting your time, Rajesh. He just wants a quick fix, he's too lazy to attempt to understand what he's doing or what he should be doing.
-
The idea was given to you here[^]. Why don't you try to devise a logic? If you want to strip down to the first directory from the root, then why not use CString::Find() instead of CString::ReverseFind() ?!
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
I am useing this.
CString DirPath;
CString FullPath = _T("C:\\abc\\cd\\as.txt");int nPos = FullPath.Find( \_T('\\\\') ); if( nPos >= 0 ) { DirPath = FullPath.Mid( 0, nPos); } AfxMessageBox(DirPath);
Then i am geting out put C: But i need to C:\abc. Plz tell me what i use. Thanks in advance
-
I am useing this.
CString DirPath;
CString FullPath = _T("C:\\abc\\cd\\as.txt");int nPos = FullPath.Find( \_T('\\\\') ); if( nPos >= 0 ) { DirPath = FullPath.Mid( 0, nPos); } AfxMessageBox(DirPath);
Then i am geting out put C: But i need to C:\abc. Plz tell me what i use. Thanks in advance
rdop wrote:
Then i am geting out put C: But i need to C:\abc. Plz tell me what i use.
I'm terribly sorry, but this is logic on kindergarten level. If you sincerely do not understand, or you're too lazy to figure out why you got that result and what to do to fix it, I suggest you find another profession. Best of luck. :rose: -- Roger
"It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown -
rdop wrote:
Then i am geting out put C: But i need to C:\abc. Plz tell me what i use.
I'm terribly sorry, but this is logic on kindergarten level. If you sincerely do not understand, or you're too lazy to figure out why you got that result and what to do to fix it, I suggest you find another profession. Best of luck. :rose: -- Roger
"It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown -
I am useing this.
CString DirPath;
CString FullPath = _T("C:\\abc\\cd\\as.txt");int nPos = FullPath.Find( \_T('\\\\') ); if( nPos >= 0 ) { DirPath = FullPath.Mid( 0, nPos); } AfxMessageBox(DirPath);
Then i am geting out put C: But i need to C:\abc. Plz tell me what i use. Thanks in advance
rdop wrote:
int nPos = FullPath.Find( _T('\\') );
Why do you use
Find
, instead of (suggested)ReverseFind
? :) [added] BTW since now the request is urgent, please feel free to visit www.cpallini.freeproductz.com to get theJITS
(J
ustI
nT
imeS
olution). :-D [/added]If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler. -- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong. -- Iain Clarke
[My articles]modified on Friday, October 3, 2008 7:45 AM
-
You're wasting your time, Rajesh. He just wants a quick fix, he's too lazy to attempt to understand what he's doing or what he should be doing.
Michael Schubert wrote:
He just wants a quick fix
Ah, I hadn't realized it was urgnz. :)
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]