question about boost::ends_with

L

Leo jay

following code is supposed to output 1, but in my vs2005, the output is
0.
if i change the "ends_with(str, sz)" into "ends_with(str, string(sz))",
the output is correct.
i wonder why. is there any difference between these two statement?

thanks.

// boosttest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <boost/algorithm/string.hpp>
#include <string>
#include <iostream>
using namespace boost;
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
char sz[1024] = "test.bat";
string str("C:\\test.bat");
cout << ends_with(str, sz) << endl;
return 0;
}
 
M

mlimber

Leo said:
following code is supposed to output 1, but in my vs2005, the output is
0.
if i change the "ends_with(str, sz)" into "ends_with(str, string(sz))",
the output is correct.
i wonder why. is there any difference between these two statement?

thanks.

// boosttest.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <boost/algorithm/string.hpp>
#include <string>
#include <iostream>
using namespace boost;
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
char sz[1024] = "test.bat";
string str("C:\\test.bat");
cout << ends_with(str, sz) << endl;
return 0;
}

You should ask on the Boost Users list:

http://boost.org/more/mailing_lists.htm#users

Cheers! --M
 
D

David Harmon

On 20 Oct 2006 01:09:15 -0700 in comp.lang.c++, "Leo jay"
following code is supposed to output 1, but in my vs2005, the output is
0.
if i change the "ends_with(str, sz)" into "ends_with(str, string(sz))",
the output is correct.
i wonder why. is there any difference between these two statement?

I don't know the whole answer to that, but I note that you will get
a different template expansion of ends_with<T1, T2>() in the two
cases. It's very possible for them to do different things, and it's
very different than if your char* was just converted to a string
argument.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,070
Latest member
BiogenixGummies

Latest Threads

Top