when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[]) 
July 23rd, 2005, 03:57 AM
| | | when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
Hai
when i compile the cpp file(cmdargs.cpp) i attached the output below
the program
int main(int argc, wchar_t* argv[])
{
std::wcout<<L"Name of the Program is
"<<*argv[0]<<std::endl;
std::wcout<<L" Argument Count "<<argc-1<<std::endl;
for(int args=1;args<argc;args++)
{
std::wcout<<L"Argument "<<args<<" is "<<
*(argv[args])<<std::endl;
}
return 0;
}
output :
~~~~~~~~~~~~~~
Name of the Program is
-->
-->
-->
-->
#include<iostream>
#include <stdlib.h>
int main(int argc, wchar_t* argv[])
{
std::cout<<"Name of the Program is
"<<*argv[0]<<std::endl;
std::cout<<" Argument Count "<<argc-1<<std::endl;
for(int args=1;args<argc;args++)
{
std::cout<<"Argument "<<args<<" is "<<
*(argv[args])<<std::endl;
}
return 0;
}
cmdargs asd fgh jkl
output :
~~~~~~~~~~~~~~
Name of the Program is 1668113505
Argument Count 3
Argument 1 is 1634952192
Argument 2 is 1718052864
Argument 3 is 1785424896
-->
-->
-->
-->
here i got some nos but i want the strings how i can print the
values..plz help he
Thanks in advance | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
Vinu wrote:
[color=blue]
> Hai
> when i compile the cpp file(cmdargs.cpp) i attached the output below
> the program
>
> int main(int argc, wchar_t* argv[])
> {
>
> std::wcout<<L"Name of the Program is
> "<<*argv[0]<<std::endl;
> std::wcout<<L" Argument Count "<<argc-1<<std::endl;
> for(int args=1;args<argc;args++)
> {
> std::wcout<<L"Argument "<<args<<" is "<<
> *(argv[args])<<std::endl;
> }
> return 0;
> }
>
>
> output :
> ~~~~~~~~~~~~~~
> Name of the Program is
>
> -->
>
> -->
>
> -->
>
> -->
>
> #include<iostream>
> #include <stdlib.h>
> int main(int argc, wchar_t* argv[])[/color]
Does your implementation support that signature for main? Standard C++
guarantees only
int main()
and
int main(int argc, char* argv[])
.. Any other variants would be implementation-defined.
[color=blue]
> {
> std::cout<<"Name of the Program is
> "<<*argv[0]<<std::endl;[/color]
If you use wide characters, use a wide stream. And *argv[0] is a single
character.
[color=blue]
> std::cout<<" Argument Count "<<argc-1<<std::endl;
> for(int args=1;args<argc;args++)
> {
> std::cout<<"Argument "<<args<<" is "<<
> *(argv[args])<<std::endl;
> }
> return 0;
> }
>
>
> cmdargs asd fgh jkl
>
> output :
> ~~~~~~~~~~~~~~
>
> Name of the Program is 1668113505[/color]
When sending a wchar_t to a char based stream, it is printed as an integer,
not as a character. | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
Hai Rolf Magnus
the real problem is when i try ti access it give Bus Error (Core Dump)
i don't no why? when i try to access the varible argv[1] or
argv[argc-1] anything it gives the Bus Error
Thanks | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
"Vinu" <vinuwarrier@yahoo.com> wrote in news:1115210388.421215.119270
@z14g2000cwz.googlegroups.com:
[color=blue]
> Hai
> when i compile the cpp file(cmdargs.cpp) i attached the output below
> the program
>
> int main(int argc, wchar_t* argv[])[/color]
Bzzt. Non-standard main. You probably want:
int main(int argc, char * argv[])
make appropriate changes throughout your application to follow suit. | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
don't consider it as main consider it as a function whic is passing int
and a wchar_t*
ok | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
Vinu wrote:
[color=blue]
>
> Hai Rolf Magnus
>
> the real problem is when i try ti access it give Bus Error (Core Dump)
> i don't no why? when i try to access the varible argv[1] or
> argv[argc-1] anything it gives the Bus Error[/color]
So I ask you again: Does your compiler documentation explicitly say that it
supports an argv of type wchar_t*[]? | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
ya
compiler supports an argv of type wchar_t*[]
wchar_t internal representation is diff? | 
July 23rd, 2005, 03:57 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
"Vinu" <vinuwarrier@yahoo.com> wrote in news:1115214575.056647.316190
@f14g2000cwb.googlegroups.com:
[color=blue]
> ya
> compiler supports an argv of type wchar_t*[]
>
> wchar_t internal representation is diff?
>
>[/color]
Have you checked your compiler's documentation on the acceptable forms of
main(), or are you assuming that since is compiles, it's supported? (What
is your compiler and platform?) | 
July 23rd, 2005, 03:58 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
use int main(int argc, char * argv[]) and cout
even if you use wcout everything is still converted to chars before
printing. Try to verify this with wchar_t based ofstream and see if
your output file contains wide chars or not.
Wasn't you the one who asked about command arguments classes? http://boost.org/doc/html/program_options.html is a really good
alternative. Use it, don't try to envent yours own | 
July 23rd, 2005, 03:58 AM
| | | Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])
g++ & unix | | Thread Tools | Search this Thread | | | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | | | | What is Bytes?
We are a network of experts and professionals in IT and software development that help one another with answers to tough questions and share insights.
Get the best answers to your questions from over 220,840 network members.
|