Connecting Tech Pros Worldwide Help | Site Map

when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])

 
LinkBack Thread Tools Search this Thread
  #1  
Old July 23rd, 2005, 03:57 AM
Vinu
Guest
 
Posts: n/a
Default 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


  #2  
Old July 23rd, 2005, 03:57 AM
Rolf Magnus
Guest
 
Posts: n/a
Default 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.

  #3  
Old July 23rd, 2005, 03:57 AM
Vinu
Guest
 
Posts: n/a
Default 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

  #4  
Old July 23rd, 2005, 03:57 AM
Andre Kostur
Guest
 
Posts: n/a
Default 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.

  #5  
Old July 23rd, 2005, 03:57 AM
Vinu
Guest
 
Posts: n/a
Default 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

  #6  
Old July 23rd, 2005, 03:57 AM
Rolf Magnus
Guest
 
Posts: n/a
Default 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*[]?

  #7  
Old July 23rd, 2005, 03:57 AM
Vinu
Guest
 
Posts: n/a
Default 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?

  #8  
Old July 23rd, 2005, 03:57 AM
Andre Kostur
Guest
 
Posts: n/a
Default 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?)

  #9  
Old July 23rd, 2005, 03:58 AM
__PPS__
Guest
 
Posts: n/a
Default 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

  #10  
Old July 23rd, 2005, 03:58 AM
Vinu
Guest
 
Posts: n/a
Default Re: when i compile the cpp file(cmdargs.cpp) int main(int argc, wchar_t* argv[])

g++ & unix

 

Bookmarks

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Popular Articles

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.