Help using argc/argv in assignment


 
Thread Tools Search this Thread
Homework and Emergencies Homework & Coursework Questions Help using argc/argv in assignment
# 1  
Old 09-12-2014
Help using argc/argv in assignment

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!

1. The problem statement, all variables and given/known data:
First, create a "hello world" program that prints "Hello World". But NOW, instead use argc to verify that a parameter was given, use argv[1] to display the command line argument back to the user after displaying "Hello". For instance, if I type

./helloWorld Michael
I will see
-----> Hello Michael


2. Relevant commands, code, scripts, algorithms:
We are first asked to create a "hello world" program that simply prints "Hello World"
I typed what was given to me from the assignment:

Code:
#include <stdio.h>

int main (int argc, char *argv[])
{
        char *message = "Hello World!";
        printf("%s\n, message);
        return 0;
}

3. The attempts at a solution (include all code and scripts):
Code:
#include <stdio.h>

int main (int argc, char *argv[])
{
        char *message = "Hello World!";
        printf("%s\n", message);
        
if(argc >= 2, argv)
{
       printf("%s_%s", argv[1])
}
return 0;
}

4. Complete Name of School (University), City (State), Country, Name of Professor, and Course Number (Link to Course):
Western Illinois University(WIU), Macomb(Illinois), USA, Justin EHRLICH, CS410(https://westernonline.wiu.edu/d2l/home/58052)

Note: Without school/professor/course information, you will be banned if you post here! You must complete the entire template (not just parts of it).

I'm pretty stuck. It's not giving me the right output and I don't have any experience using C++. Been trying to modify it all day and can't get any help. I'd appreciate any help at all. Smilie
# 2  
Old 09-12-2014
Code:
#include <stdio.h>

int main (int argc, char *argv[])
{
        char *message = "Hello ";
        printf("%s ", message);

if(argc == 2)
{
       printf("%s!\n", argv[1]);
}
else
{
        printf ("world!\n");
}

return 0;

}

This User Gave Thanks to blackrageous For This Post:
# 3  
Old 09-12-2014
Another way:

Code:
int main(int argc, char *argv[])
{
        char *message="Hello";
        char *who="World!";
        if(argc == 2) 
        {
                who=argv[1];
        }

        printf("%s %s\n", message, who);
        return(0);
}

This User Gave Thanks to Corona688 For This Post:
# 4  
Old 09-12-2014
Quote:
Originally Posted by blackrageous
Code:
#include <stdio.h>

int main (int argc, char *argv[])
{
        char *message = "Hello ";
        printf("%s ", message);

if(argc == 2)
{
       printf("%s!\n", argv[1]);
}
else
{
        printf ("world!\n");
}

return 0;

}

Thank you my friend. This works. The only thing that did not work is the part I bolded in the quote. It keeps printing "n" at the end of the statement instead of doing a new line(which is what I think you're trying to do here?). It's not a big deal because I can cut out that part and get the right output anyway.

---------- Post updated at 01:12 PM ---------- Previous update was at 01:10 PM ----------

Quote:
Originally Posted by Corona688
Another way:

Code:
int main(int argc, char *argv[])
{
        char *message="Hello";
        char *who="World!";
        if(argc == 2) 
        {
                who=argv[1];
        }

        printf("%s %s\n", message, who);
        return(0);
}

Thanks for the alternate solution. Gives me something to think about as well.
# 5  
Old 09-12-2014
Quote:
Originally Posted by miniviking10
Thank you my friend. This works. The only thing that did not work is the part I bolded in the quote. It keeps printing "n" at the end of the statement instead of doing a new line(which is what I think you're trying to do here?).
That's exactly what "\n" does inside a double-quoted string, yes.

Did you alter it in any way or double up the backslashes, etc? It really ought to work as-is.
# 6  
Old 09-12-2014
Quote:
Originally Posted by Corona688
That's exactly what "\n" does inside a double-quoted string, yes.

Did you alter it in any way or double up the backslashes, etc? It really ought to work as-is.
It works when I just use the command as "./helloWorld" ...but when I use "./helloWorld John" , it outputs: "Hello John!n" and yea, I definitely have it exactly as you put it. Didn't alter it.
# 7  
Old 09-12-2014
What's your system?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

ARGV how to use it?

So i am trying to read in file readFile <GivenFile> modFile looking for a regular file under the directories in the GivenFile and print them out is my over all goal. basically I am looking for anything that looks like a directory in the given file and printing it out. Since I am trying to do... (2 Replies)
Discussion started by: squidGreen
2 Replies

2. UNIX for Advanced & Expert Users

O argv, argv, wherefore art thou argv?

All of my machines (various open source derivatives on x86 and amd64) store argv above the stack (at a higher memory address). I am curious to learn if any systems store argv below the stack (at a lower memory address). I am particularly interested in proprietary Unices, such as Solaris, HP-UX,... (9 Replies)
Discussion started by: alister
9 Replies

3. Shell Programming and Scripting

argc/ argv in awk

Hi guys, i'm trying to solve this problem. I have to run something like cat file1.txt | awk -f script.awk 10 if i'm in the awk script, how can i take the parameter :10 ??:wall: i try something like : BEGIN{ var=argv } {..} END{..} but obviously is not correct... (5 Replies)
Discussion started by: heaven25
5 Replies

4. Shell Programming and Scripting

ARGV and ARGC in bash 3 and bash 3.2

Hi Folks, I've prepared a shell script that takes action based on arguments and number of arguments..sample code like: ARGV=("$@") ARGC=("$#") case ${ARGV} in abc) if ; then ...... else printf "\nInvalid number of arguments, please check the inputs and... (2 Replies)
Discussion started by: SBC
2 Replies

5. Programming

help with C, argv

when i run my program, i have a parameter, that i want to set the value to another string i am using int main(int argc, char **argv) { char my_str=argv; printf("%s",my_str); return 0; } and i get Segmentation fault ran using ./my_prog /usr/share/dict/words hello1 ... (2 Replies)
Discussion started by: omega666
2 Replies

6. Programming

ARGV help in C

Hi, Can somehelp help how to list file in a dir? (5 Replies)
Discussion started by: Learnerabc
5 Replies

7. Programming

Building an argc/argv style structure from a string (char*)

Hello All, First post. I've been struggling with the following: Given a char* string, I need to construct an "int argc, char *argv" style structure. What I'm struggling with most is handling escaped-whitespace and quotes. e.g. the string: char *s = "hello world 'my name is simon'... (10 Replies)
Discussion started by: cbarwise
10 Replies

8. Programming

help for argv argc

Hi C experts, I have the following code for adding command line option for a program int main (argc, argv) int argc; char *argv; { char *mem_type; //memory type char *name; //name of the memory int addr; //address bits int data; ... (5 Replies)
Discussion started by: return_user
5 Replies

9. Programming

dbx debugger + argv[argc]

Is it possible to use the dbx debugger with the CL options for the executable ? Say you have created a executable called myfunc which can take string arguments at run-time. You run it like this ./myfunc Hello World where Hello and World are the string arguments My question is whether... (1 Reply)
Discussion started by: JamesGoh
1 Replies

10. Programming

Using argv argc

I searched on the forums. No advises. I am using a previous source code. I changed the main function main(int argc, char **argv) in a function misc(int argc, char **argv). How do you use the argc and argv parameters? This is how I am calling the function : char param; strcat(param,"wgrib ");... (4 Replies)
Discussion started by: Akeson Chihiro
4 Replies
Login or Register to Ask a Question