On Apr 12, 7:18 am, (e-mail address removed) wrote:
[...]
I have a sequence of octets as mentioned in my earlier qs. I
have stored it in a vector which contains series of
octets.(uint_8*).
If the vector is std::vector< uint_8* >, it contains a sequence
of pointers, not a sequence of octets. You're still
contradicting yourself, which is why we're having trouble
understanding the problem.
Until we know how and where these octets are stored, it's
difficult to say much. If they are stored in a vector
(std::vector< uint8_t >), then it's easy using std::copy or
std::equal---I seem to remember having already posted the code.
If they're stored somewhere else, then no one can answer until
we know where they are stored.
--
James Kanze (GABI Software) email:
[email protected]
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
I fixed the problem extracting the 6 octets into a vector. Thanks for
all your help. I have only one problem now. If I have a sequence of
octets (1 0 94 0 0 2). I used std::copy and it worked. How will I make
these to ASCII string?Could you please help me in this regard?
I have written the small program in VC++ and it gives lot of errors.
Could you please help me in this regard?
My objective is to convert the {1 0 94 0 0 2} which is stored in a
vector to convert to ASCII string formatted MAC address.
#include "stdafx.h"
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main ()
{
vector<unsigned char> (pOctets);
pOctets.resize(0);
pOctets.reserve(6);
pOctets.push_back("1");
pOctets.push_back("0");
pOctets.push_back("94");
pOctets.push_back("0");
pOctets.push_back("0");
pOctets.push_back("2");
unsigned char* buffer = new unsigned[6];
const iterator it= pOctets.begin();
int octet = 0;
for (; it != pOctets.end(); ++it, ++octet)
buffer[octet] = *it;
char* buf = ConvertMacStringFromDecimal(buffer);
}
char*
ConvertMacStringFromDecimal(unsigned char* buf) const
{
char temp[100];
sprintf(temp,("%x:%x:%x:%x:%x:%x"),
unsigned long ((buf >> 40) & 0xff),
unsigned long ((buf >> 32) & 0xff),
unsigned long ((buf >> 24) & 0xff),
unsigned long ((buf >> 16) & 0xff),
unsigned long ((buf >> 8) & 0xff)
);
return temp ;
}
Can somebody help me in this regard?
------ Build started: Project: test1, Configuration: Debug Win32 ------
1>Compiling...
1>test1.cpp
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(15) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [2]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [2]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(16) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [3]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [3]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(17) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [4]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [4]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(18) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [3]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [3]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(19) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [3]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [3]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(20) : error C2664:
'std::vector<_Ty>:
ush_back' : cannot convert parameter 1 from 'const
char [3]' to 'const unsigned char &'
1> with
1> [
1> _Ty=unsigned char
1> ]
1> Reason: cannot convert from 'const char [3]' to 'const
unsigned char'
1> There is no context in which this conversion is possible
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(22) : error C2440:
'initializing' : cannot convert from 'unsigned int *' to 'unsigned
char *'
1> Types pointed to are unrelated; conversion requires
reinterpret_cast, C-style cast or function-style cast
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(23) : error C2514:
'std::iterator' : class has no constructors
1> c:\program files\microsoft visual studio 8\vc\include
\xutility(486) : see declaration of 'std::iterator'
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::vector<_Ty,_Alloc> &,const
std::vector<_Ty,_Alloc> &)' : could not deduce template argument for
'const std::vector<_Ty,_Alloc> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\vector
(1268) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::vector<_Ty,_Alloc> &,const
std::vector<_Ty,_Alloc> &)' : could not deduce template argument for
'const std::vector<_Ty,_Alloc> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\vector
(1268) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff>
&,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)' : could not
deduce template argument for 'const
std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &' from 'const
std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\iterator(277) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::istream_iterator<_Ty,_Elem,_Traits,_Diff>
&,const std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &)' : could not
deduce template argument for 'const
std::istream_iterator<_Ty,_Elem,_Traits,_Diff> &' from 'const
std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\iterator(277) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const
_Elem *)' : could not deduce template argument for 'const
std::basic_string<_Elem,_Traits,_Alloc> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\string
(121) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const
_Elem *)' : could not deduce template argument for 'const
std::basic_string<_Elem,_Traits,_Alloc> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\string
(121) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const _Elem *,const
std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce
template argument for 'const _Elem *' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\string
(111) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const
std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce
template argument for 'const std::basic_string<_Elem,_Traits,_Alloc>
&' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\string
(101) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::basic_string<_Elem,_Traits,_Alloc> &,const
std::basic_string<_Elem,_Traits,_Alloc> &)' : could not deduce
template argument for 'const std::basic_string<_Elem,_Traits,_Alloc>
&' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\string
(101) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::allocator<_Ty> &,const
std::allocator<_Other> &) throw()' : could not deduce template
argument for 'const std::allocator<_Ty> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\xmemory
(181) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::allocator<_Ty> &,const
std::allocator<_Other> &) throw()' : could not deduce template
argument for 'const std::allocator<_Ty> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\xmemory
(181) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const
std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce
template argument for 'const std::istreambuf_iterator<_Elem,_Traits>
&' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\xutility(2152) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::istreambuf_iterator<_Elem,_Traits> &,const
std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce
template argument for 'const std::istreambuf_iterator<_Elem,_Traits>
&' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\xutility(2152) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::reverse_iterator<_RanIt> &,const
std::reverse_iterator<_RanIt2> &)' : could not deduce template
argument for 'const std::reverse_iterator<_RanIt> &' from 'const
std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\xutility(1834) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std::reverse_iterator<_RanIt> &,const
std::reverse_iterator<_RanIt2> &)' : could not deduce template
argument for 'const std::reverse_iterator<_RanIt> &' from 'const
std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include
\xutility(1834) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std:
air<_Ty1,_Ty2> &,const
std:
air<_Ty1,_Ty2> &)' : could not deduce template argument for
'const std:
air<_Ty1,_Ty2> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\utility
(68) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2784: 'bool
std:
perator !=(const std:
air<_Ty1,_Ty2> &,const
std:
air<_Ty1,_Ty2> &)' : could not deduce template argument for
'const std:
air<_Ty1,_Ty2> &' from 'const std::iterator'
1> c:\program files\microsoft visual studio 8\vc\include\utility
(68) : see declaration of 'std:
perator !='
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2676: binary '!=' :
'const std::iterator' does not define this operator or a conversion to
a type acceptable to the predefined operator
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(25) : error C2675: unary '++' :
'const std::iterator' does not define this operator or a conversion to
a type acceptable to the predefined operator
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(26) : error C2100: illegal
indirection
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(26) : error C2440: '=' : cannot
convert from 'const std::iterator' to 'unsigned char'
1> No user-defined-conversion operator available that can
perform this conversion, or the operator cannot be called
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(28) : error C3861:
'ConvertMacStringLong': identifier not found
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(34) : error C2270:
'ConvertMacStringLong' : modifiers not allowed on nonmember functions
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(34) : error C2365:
'ConvertMacStringLong' : redefinition; previous definition was
'formerly unknown identifier'
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(37) : warning C4293: '>>' : shift
count negative or too big, undefined behavior
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(37) : error C2296: '>>' : illegal,
left operand has type 'unsigned char *'
1>c:\documents and settings\soni\my documents\visual studio
2005\projects\test1\test1\test1.cpp(37) : fatal error C1903: unable to
recover from previous error(s); stopping compilation
1>Build log was saved at "file://c:\Documents and Settings\soni\My
Documents\Visual Studio 2005\Projects\test1\test1\Debug\BuildLog.htm"
1>test1 - 34 error(s), 1 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped
==========