Hi there, was just wondering whats the best way to call a function from
within another function.
say ive got
int main (int argc, char * argv[]) {
return 0;
}
and another function such as:
void getInput(char name) {
printf("Hello") ;
............... ......
}
and i wanted it, so as soon as the program starts it goes straight to the
getInput function..
i tried; in the main function:
getInput(char name);
void getInput(char name);
getInput;
getInput();
none seemed to work
Any ideas?
Thank 11 1522
In article <Ts************ ****@newsfep4-glfd.server.ntl i.net>, Dilbert wrote: Hi there, was just wondering whats the best way to call a function from within another function.
say ive got int main (int argc, char * argv[]) { return 0; }
and another function such as: void getInput(char name) { printf("Hello") ; ............... ...... }
and i wanted it, so as soon as the program starts it goes straight to the getInput function..
Your getInput() function expects a character as its argument.
Call it with a character.
#include <stdio.h>
void getInput(char name)
{
printf("Hello, got '%c'\n", name);
}
int main(void)
{
getInput('Q');
return 0;
}
--
Andreas Kähäri
"Dilbert" <Ha************ @memail.com> wrote: i tried; in the main function: getInput(char name); void getInput(char name); getInput; getInput();
none seemed to work
Any ideas?
Yes. Get a C book. I'd recommend K&R. This really is a question at such
a basic level that you should acquaint yourself a bit more (read: at
all) with the language before trying things like newsgroups and web
searches.
Hint: function(actual argument), _not_ function(type) or
function(declar ation).
Richard
"Dilbert" <Ha************ @memail.com> wrote in message
news:Ts******** ********@newsfe p4-glfd.server.ntl i.net... Hi there, was just wondering whats the best way to call a function from within another function.
say ive got int main (int argc, char * argv[]) { return 0; }
and another function such as: void getInput(char name) { printf("Hello") ;
this printf() is a function, so thats a function within a function
............... ...... }
and i wanted it, so as soon as the program starts it goes straight to the getInput function..
i tried; in the main function: getInput(char name); void getInput(char name); getInput; getInput();
none seemed to work
getInput requires a char, now there are three things wrong here,
1) a char can only hold one character, so this should accept a char pointer
or a char array to hold a name
2) the function name does not hint what the function does, its called
getInput but doesnt actually get any input.
3) You pass a paramater (char name) and never actually use it
All in all, I suggest you get yourself a book in c (I dont recommend K&R as
your first book, but you should read it eventually), and study up a bit
more.
HTH
Allan Any ideas? Thank
Dilbert <Ha************ @memail.com> wrote: void getInput(char name) { printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
............... ...... }
i tried; in the main function: getInput(char name); void getInput(char name); getInput; getInput();
How about getInput('x'); or something like this? Your function requires a
char as parameter!
Any ideas?
The C Programming Language
by Brian Kerningham and Dennis Ritchie
Flo
--
Give me about 10 seconds to think for a minute.
Florian Weingarten / Use PGP! (0x65C91285)
Florian Weingarten <fw@go.cc> wrote: Dilbert <Ha************ @memail.com> wrote: void getInput(char name) { printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
Why?
--
Irrwahn
(ir*******@free net.de)
Irrwahn Grausewitz <ir*******@free net.de> wrote: > printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
Why?
Because printf() should only be used for outputting formated strings. puts()
is for printing strings which do not need to be formated and as far as I
know, puts() is much smaller and faster, so puts() should always be used
instead of printf() if possible IMHO.
Flo
--
Give me about 10 seconds to think for a minute.
Florian Weingarten / Use PGP! (0x65C91285)
On Fri, 14 Nov 2003, Florian Weingarten wrote: Irrwahn Grausewitz <ir*******@free net.de> wrote: > printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
Why?
Because printf() should only be used for outputting formated strings. puts() is for printing strings which do not need to be formated and as far as I know, puts() is much smaller and faster, so puts() should always be used instead of printf() if possible IMHO.
One caveat:
% cat test.c
#include <stdio.h>
int main(void)
{
printf("Hello") ;
puts("Hello");
printf("World") ;
puts("World");
return 0;
}
% gcc -o test test.c
% ./test
HelloHello
WorldWorld
%
puts(foo) actually prints foo to stdout, and then *adds a newline*!
printf(foo) will not add that newline, and neither will fputs(foo,
stdout). puts() is special that way.
MMV, anyway -- I prefer to use printf() consistently, except in
temporary debugging output where puts() is faster to type and I
don't have to manually insert the "\n".
Oh, and one printf() caveat: Remember that the '%' character is
special in printf(), but not in puts().
puts("100%");
/* is equivalent to */
fputs("100%\n", stdout);
/* is equivalent to */
printf("100%%\n ");
-Arthur
On Fri, 14 Nov 2003 21:48:53 +0100, Florian Weingarten wrote: Irrwahn Grausewitz <ir*******@free net.de> wrote: > printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
Why?
Because printf() should only be used for outputting formated strings. puts() is for printing strings which do not need to be formated and as far as I know, puts() is much smaller and faster, so puts() should always be used instead of printf() if possible IMHO.
Tell us why we should care if puts() returns 10 nanoseconds faster than
printf().
And take a look at this:
[sheldon@wsxyz mcc]$ cat test.c
#include <stdio.h>
int main (void)
{
printf("Hello World!\n");
return 1;
}
[sheldon@wsxyz mcc]$ gcc -Wall -W -O2 -S test.c
[sheldon@wsxyz mcc]$ cat test.s
.file "test.c"
.section .rodata.str1.1, "aMS",@progbits ,1
..LC0:
.string "Hello World!"
.text
.p2align 4,,15
..globl main
.type main, @function
main:
pushl %ebp
movl %esp, %ebp
subl $8, %esp
andl $-16, %esp
movl $.LC0, (%esp)
call puts <-------------- Good GCC!
movl %ebp, %esp
movl $1, %eax
popl %ebp
ret
.size main, .-main
.ident "GCC: (GNU) 3.3.1"
[sheldon@wsxyz mcc]$
Florian Weingarten <fw@go.cc> wrote: Irrwahn Grausewitz <ir*******@free net.de> wrote: > printf("Hello") ;
Ouch! Dont use printf here. puts() would be better.
Why?
Because printf() should only be used for outputting formated strings. puts() is for printing strings which do not need to be formated and as far as I know, puts() is much smaller and faster, so puts() should always be used instead of printf() if possible IMHO.
Note that printf("Hello") and puts("Hello") are not equivalent,
as puts appends a newline to the output. fputs("Hello", stdout);
would have been equivalent. However, if you printf a constant string
ending in a newline, any decent optimizing compiler will probably
insert a call to puts in the code.
Regards
--
Irrwahn
(ir*******@free net.de) This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: pieter.breed |
last post by:
Hi All,
Is it possible to export a c# method into a dll in such a way that your
"normal" C application can then call this method?
To be clear: I am not asking how to use "DllImport" or PInvoke. My
question is the other way around.
Regards
Pieter Breed
|
by: Ross A. Finlayson |
last post by:
Hi,
I hope you can help me understand the varargs facility.
Say I am programming in ISO C including stdarg.h and I declare a
function as so:
void log_printf(const char* logfilename, const char* formatter, ...);
Then, I want to call it as so:
|
by: Dave |
last post by:
does calling a regular function cost any cpu time? In other words, is it
faster to write the code of two functions into main(), or is it the exact
same thing as calling two functions. I know its nitty gritty but its
necessary for my program.
thanks
dave
|
by: Mark Jerde |
last post by:
Yesterday I posted the message below to microsoft.public.dotnet.languages.vb
and microsoft.public.vc.language. The two replies are also posted.
I need to write some ISO C++ functions, more information below. Is C# a
better language to use than VB.NET for calling these C++ functions? If so I
would appreciate some links on calling C++ from C#.
Thanks!
-- Mark
|
by: Jesse McGrew |
last post by:
Hi all,
I'm trying to make a plugin DLL for a third-party application, using
VC++ .NET 2003. This DLL acts as a bridge between the C++ plugin API of
the application, and my actual plugin code written in C#.
When the app calls my unmanaged functions, they work fine. But as soon
as my unmanaged functions call managed functions (in the same source
file!), the app reports an "unknown exception" error.
| |
by: H.B. |
last post by:
Hi,
I need to make a function that can display data on my Managed C++ app and be
called by an unmanaged C++ DLL. Something like :
void Form1::Form1_Load(System::Object * sender, System::EventArgs * e)
{
MyDLLInit(MyAppDisplayFunction);
}
|
by: Daniel Lidström |
last post by:
I'm using a library called fyba. This library reads and writes files in a
format called sosi. fyba uses the following code to determine if the
calling process has own methods to handle errors, messages, etc:
// If this parameter is NULL,
// GetModuleHandle returns a handle of the file used
// to create the calling process.
hInstExe = GetModuleHandle( NULL );
if( hInstExe!=NULL )
|
by: John Friedland |
last post by:
My problem: I need to call (from C code) an arbitrary C library
function, but I don't know until runtime what the function name is,
how many parameters are required, and what the parameters are. I can
use dlopen/whatever to convert the function name into a pointer to
that function, but actually calling it, with the right number of
parameters, isn't easy.
As far as I can see, there are only two solutions:
1) This one is portable. If...
|
by: Edwin Gomez |
last post by:
I'm a C# developer and I'm new to Python. I would like to know if the concept of Asynchronous call-backs exists in Python. Basically what I mean is that I dispatch a thread and when the thread completes it invokes a method from the calling thread. Sort event driven concept with threads.
Thanks.
Ed Gomez
|
by: sulekhasweety |
last post by:
Hi,
the following is the definition for calling convention ,which I have
seen in a text book, can anyone give a more detailed explanation in
terms of ANSI - C
"the requirements that a programming system places on how a procedure
is called and how data is passed between a calling program and
procedures are called calling conventions"
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
| |
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
| |
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |