473,486 Members | 2,277 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

C++ system calls

Gil
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.
Gil
Jul 22 '05 #1
12 1522
* br**************@hotmail.com (Gil) schriebt:

Is 'system' in stdlib.h the only way to make OS calls
from C++?
In one sense yes, namely that the standard library is defined
without reference to any particular OS, and that the language
does not directly support OS calls.

In another sense no, namely that 'system' as well as the i/o
facilities in the C and C++ standard libraries in practice uses
OS calls when suitable OS calls are available; they can be
regarded as abstractions over the OS, whatever the OS is.

In a third sense, the OS is probably mostly implemented in C
and/or C++, and a system-specific compiler (as most compilers
are...) will provide some system-specific means of making OS
API calls.


In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.


How to do that is off-topic in this group, but generally, you just
include the relevant headers and link with the appropriate libs.

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Jul 22 '05 #2
* br**************@hotmail.com (Gil) schriebt:

Is 'system' in stdlib.h the only way to make OS calls
from C++?
In one sense yes, namely that the standard library is defined
without reference to any particular OS, and that the language
does not directly support OS calls.

In another sense no, namely that 'system' as well as the i/o
facilities in the C and C++ standard libraries in practice uses
OS calls when suitable OS calls are available; they can be
regarded as abstractions over the OS, whatever the OS is.

In a third sense, the OS is probably mostly implemented in C
and/or C++, and a system-specific compiler (as most compilers
are...) will provide some system-specific means of making OS
API calls.


In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.


How to do that is off-topic in this group, but generally, you just
include the relevant headers and link with the appropriate libs.

--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
Jul 22 '05 #3
There are definetly file system related calls in C/C++ like
statfs,fstatfs that gives you information about a mounted file
system. ( Total Number of Blocks allocated, free blocks, block size..etc).
I have worked with these in Linux but never tried in Solaris.

-Sai

br**************@hotmail.com (Gil) wrote in message news:<ad**************************@posting.google. com>...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.
Gil

Jul 22 '05 #4
There are definetly file system related calls in C/C++ like
statfs,fstatfs that gives you information about a mounted file
system. ( Total Number of Blocks allocated, free blocks, block size..etc).
I have worked with these in Linux but never tried in Solaris.

-Sai

br**************@hotmail.com (Gil) wrote in message news:<ad**************************@posting.google. com>...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.
Gil

Jul 22 '05 #5
Saikrishna wrote:
br**************@hotmail.com (Gil) wrote in message news:<ad**************************@posting.google. com>...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.
Gil There are definetly file system related calls in C/C++ like
statfs,fstatfs that gives you information about a mounted file
system. ( Total Number of Blocks allocated, free blocks, block

size..etc). I have worked with these in Linux but never tried in Solaris.

-Sai


1. Its Annoying.
2. So don't Top-Post. Replies are either interspersed
or appended to the bottom, like this one.

By the way, statfs, fstatfs are not standard calls in
either C or C++. And yes, they are two different
languages. There is not one language called C/C++.

If you believe the above are _standard_ functions,
please correct me by quoting the ISO/ANSI specification.
--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book

Jul 22 '05 #6
Saikrishna wrote:
br**************@hotmail.com (Gil) wrote in message news:<ad**************************@posting.google. com>...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

In this case, I will probably be making unix calls like
'df' or 'statvfs' to get the diskspace information and
redirecting it to a file, and then opening and reading
the output.
Gil There are definetly file system related calls in C/C++ like
statfs,fstatfs that gives you information about a mounted file
system. ( Total Number of Blocks allocated, free blocks, block

size..etc). I have worked with these in Linux but never tried in Solaris.

-Sai


1. Its Annoying.
2. So don't Top-Post. Replies are either interspersed
or appended to the bottom, like this one.

By the way, statfs, fstatfs are not standard calls in
either C or C++. And yes, they are two different
languages. There is not one language called C/C++.

If you believe the above are _standard_ functions,
please correct me by quoting the ISO/ANSI specification.
--
Thomas Matthews

C++ newsgroup welcome message:
http://www.slack.net/~shiva/welcome.txt
C++ Faq: http://www.parashift.com/c++-faq-lite
C Faq: http://www.eskimo.com/~scs/c-faq/top.html
alt.comp.lang.learn.c-c++ faq:
http://www.raos.demon.uk/acllc-c++/faq.html
Other sites:
http://www.josuttis.com -- C++ STL Library book

Jul 22 '05 #7

"Gil" <br**************@hotmail.com> wrote in message
news:ad**************************@posting.google.c om...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?


No - I think you will find that popen is std C and more directly useful than
system
because it gives you a FILE* to pipe in teh result.

The actual progs are OS specific and hence not C++ but I think you will
find that there are API calls.

RTFM :-)

Jul 22 '05 #8

"Gil" <br**************@hotmail.com> wrote in message
news:ad**************************@posting.google.c om...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?


No - I think you will find that popen is std C and more directly useful than
system
because it gives you a FILE* to pipe in teh result.

The actual progs are OS specific and hence not C++ but I think you will
find that there are API calls.

RTFM :-)

Jul 22 '05 #9
Nick Hounsome wrote:
"Gil" <br**************@hotmail.com> wrote in message
news:ad**************************@posting.google.c om...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

No - I think you will find that popen is std C and more directly useful than
system
because it gives you a FILE* to pipe in teh result.


No, he will not find that popen() is standard C. It's not. Nor is it
standard C++.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.
Jul 22 '05 #10
Nick Hounsome wrote:
"Gil" <br**************@hotmail.com> wrote in message
news:ad**************************@posting.google.c om...
I am running a C++ process on Solaris that needs
to find out how much diskspace is free and used on
the system.

Is 'system' in stdlib.h the only way to make OS calls
from C++?

No - I think you will find that popen is std C and more directly useful than
system
because it gives you a FILE* to pipe in teh result.


No, he will not find that popen() is standard C. It's not. Nor is it
standard C++.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.
Jul 22 '05 #11
Gil <br**************@hotmail.com> spoke thus:

<point granularity="fine" confidence="7/10">
Is 'system' in stdlib.h the only way to make OS calls
from C++?


system() does not allow you to make "OS calls". What it does
do is pass a command string to a shell or other command
interpreter (DOS, bash, ksh, whatever), which may or may not
issue system calls to handle the command. If you wish to issue
the system calls yourself (your next paragraph suggests that you
do), you must employ implementation-specific extensions to C/C++
which are, as others have noted, not to be discussed here.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 22 '05 #12
Gil <br**************@hotmail.com> spoke thus:

<point granularity="fine" confidence="7/10">
Is 'system' in stdlib.h the only way to make OS calls
from C++?


system() does not allow you to make "OS calls". What it does
do is pass a command string to a shell or other command
interpreter (DOS, bash, ksh, whatever), which may or may not
issue system calls to handle the command. If you wish to issue
the system calls yourself (your next paragraph suggests that you
do), you must employ implementation-specific extensions to C/C++
which are, as others have noted, not to be discussed here.

--
Christopher Benson-Manica | I *should* know what I'm talking about - if I
ataru(at)cyberspace.org | don't, I need to know. Flames welcome.
Jul 22 '05 #13

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
12688
by: Birch | last post by:
I have a python script that uses the print function throughout, and as well uses calls to os.system() to spawn DOS commandline executables. My issue is that I redirect all of the output from this...
12
3403
by: Gil | last post by:
I am running a C++ process on Solaris that needs to find out how much diskspace is free and used on the system. Is 'system' in stdlib.h the only way to make OS calls from C++? In this case,...
8
2242
by: Peter Olcott | last post by:
Is there any way to intercept system calls to windows such as TextOut and DrawText? what kinds of system calls can be intercepted, and what is the mechanism to accomplish this?
5
3503
by: markus | last post by:
Hi, I have a question that deals with the standard c library VS (Unix) system calls. The question is: which header files (and functions) are part of the C library and which header files (and...
22
2632
by: markus | last post by:
Hi, There are more than 1000 defined system calls in the Unix standard specification, however, a majority of them are optional and the availability of system calls are dependent on the OS...
7
6935
by: rahul8143 | last post by:
hello, what is difference between system call and library function call? Does library function call can have context switch to kernel mode? regards, rahul
11
2743
by: talk | last post by:
hi,guy i have a question. are the functions in <stdio.h> system calls provided by operation system? if so, i want to know how C implements that we can call system calls by using the functions in...
3
2960
by: Carlos Lozano | last post by:
I have requirement to pause the system clock until a certain event (Win XP). Then the clock will be resumed to the real time. I think it can be done using core functions and/or redirecting the...
21
2423
by: omkar pangarkar | last post by:
Hi all, I have two simple hello world programs one using printf() and other using write() --prog 1-- #include<stdio.h> #include<stdlib.h> int main() { printf("Hello"); /* up to here...
0
7105
marktang
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,...
0
6967
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...
0
7132
Oralloy
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,...
1
6846
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7341
tracyyun
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...
0
5439
agi2029
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,...
0
4564
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
1381
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 ...
1
600
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.