Sponsored Content
Homework and Emergencies Homework & Coursework Questions Using C language to use system calls Post 302734115 by Corona688 on Wednesday 21st of November 2012 03:53:45 PM
Old 11-21-2012
It's possible to do it either way. Line-by-line is probably easier.

Your using scanf incorrectly every time you use it. You can't store a string in a char, since a string is a char array, and you shouldn't be using scanf to read raw data. Read lines then feed them into sscanf, or your code may get stuck in infinite loops whenever the user types something wrong.

I'd do this:

Code:
while(1)
{
        char buf[512];
        int selection;
        if(fgets(buf, 512, stdin) == NULL) break; // Read line, quit on error
        // Convert line into number
        if(sscanf(buf, "%d", &selection) != 1)
        {
                fprintf(stderr, "you did not type a number\n");
                continue;
        }

        switch(selection)
        {
...
        }
}

Also, you cannot store an entire string inside a single character. You'll need to feed sscanf an array for the filenames. Something like this:

Code:
char fname[512];
printf("Please enter a filename:\n");
// Read a line
fgets(fname, 512, stdin);
// chop the newline off the end of the line
for(n=0; fname[n]; n++) if(fname[n] == '\n') fname[n]='\0';

System calls you'll need are unlink to remove files, open to read or create files, read to read from files, write to write to files, and close to close file descriptors once you're done.

Include files you'll need for all those are

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

System calls for cp and mv

Which system calls are made for operations cp and mv (2 Replies)
Discussion started by: gaurava99
2 Replies

2. UNIX for Dummies Questions & Answers

System calls?

open, creat, read, write, lseek and close Are they all primitive? :confused: *Another Question: is there a different between a system call, and an i/o system call? (2 Replies)
Discussion started by: PlunderBunny
2 Replies

3. Solaris

System calls ?

where can i find the differences in System calls between solaris and aix? also is it possible to find a comprehensive list of them? (1 Reply)
Discussion started by: TECHRAMESH
1 Replies

4. UNIX Desktop Questions & Answers

Using system calls

Hi, I'm new to UNIX system calls. Can someone share your knowledge as to how exactly system calls should be executed? Can they be typed like commands such as mkdir on the terminal itself? Also, are there any websites which will show me an example of the output to expect when a system call like... (1 Reply)
Discussion started by: ilavenil
1 Replies

5. Programming

System calls

why user is not able to switch from user to kernel mode by writing the function whose code is identical to system call. (1 Reply)
Discussion started by: joshighanshyam
1 Replies

6. BSD

system calls

what is the functions and relationship between fork,exec,wait system calls as i am a beginer just want the fundamentals. (1 Reply)
Discussion started by: sangramdas
1 Replies

7. UNIX for Dummies Questions & Answers

About system calls.

Hi all, I am new here . I want to know about system call in detail. As system calls are also function .How system identifies it.:) (2 Replies)
Discussion started by: vishwasrao
2 Replies

8. UNIX for Dummies Questions & Answers

system calls in C

Hello, how would i be able to call ps in C programming? thanks, ---------- Post updated at 01:39 AM ---------- Previous update was at 01:31 AM ---------- here's the complete system call, ps -o pid -p %d, getpit() (2 Replies)
Discussion started by: l flipboi l
2 Replies

9. Programming

Are system calls in c language only????

Hi friends, I have three questions. 1) What are system calls? 2) Is it necessary that system calls be in c language (in unix operating system)? 3) Importance of c language when programming in unix environment??? Looking forward to your wonderful replies! ... (2 Replies)
Discussion started by: gabam
2 Replies

10. Programming

System calls and C language low-level qualities???

Hi friends, I hope everyone is fine and doing well. I queried in my previous thread about the low-level qualities of C/C++ languages.I really thank you people for explaining, it was really helpful. One more ambiquity that I have in my mind is regarding the unix system calls like open, creat,... (1 Reply)
Discussion started by: gabam
1 Replies
sysman_menu(8)						      System Manager's Manual						    sysman_menu(8)

NAME
sysman_menu - Graphical interface to run system management tasks SYNOPSIS
/usr/sbin/sysman [-ui cui | gui] [-display displayname] [-menu] /usr/sbin/sysman [-accel] <accelerator> [arguments] /usr/sbin/sysman [-menu] <name> [arguments] /usr/sbin/sysman [-menu] -list /usr/sbin/sysman [-menu] -help | -h /usr/sbin/sysman -focus hostname OPTIONS
Specifies the user interface to be invoked. The choices are: Specifies command line interface. Specifies graphical user interface. Speci- fies the display screen on where sysman_menu displays its window. If the display option is not specified, sysman_menu uses the display screen specified by your DISPLAY environment variable. The display option has the format hostname:server.number. The default is :0.0. For more information, see the X(1X) reference page. In a TruCluster environment, some management tasks effect the cluster as a whole and some are local to a specific cluster member. If a task requires focus, the "Choose a host to manage" dialog box will be displayed. To launch the task directly, bypassing this dialog box, you can specify the -focus option. Directly invokes the task with that accelerator. Any arguments are passed on to the task itself. Use sysman -list for a list of the accelerators. If the accelerator is for a branch of the menu and not an executable task, then the menu hierarchy is expanded to display the con- tents of the specified branch. Same as -accel option but the name of the task as displayed in the SysMan Menu is specified. For example, sysman -menu "Manage local users". Any arguments are passed on to the task itself. The name is for a branch of the menu and not an executable task, then the menu hierarchy is expanded to display the contents of the specified branch. Displays a list of all the tasks that can be run from the SysMan Menu and their accelerators. Displays help for the SysMan Menu. DESCRIPTION
SysMan Menu is used by the system administrator to obtain system management data and run selected system management tasks. SysMan Menu pro- vides a menu of system management tasks in a tree type display, with branches of management categories and leaves of actual tasks. Select- ing a leaf or tasks invokes a task, which displays a dialog for performing the task. SysMan Menu and its associated tasks can be run on an X Windows display, a terminal with curses capability, locally on a PC, or from a Web browser. For detailed information in running SysMan Menu from a PC or a Web browser, please use your Web browser and go to: http://your_machine_name:2301/SYSMAN/index.html. Online help is available for the SysMan Menu. To get help, select the Help button. RESTRICTIONS
You must have root privileges to perform most tasks with this application. You can grant root privileges for specific users or groups of users using the Division of Privileges (DOP) application. See the dop(8) reference page and the online help in the sysman dopconfig appli- cation for additional information. You must have the root privileges to execute some of the tasks on the SysMan Menu. EXAMPLES
The following example shows how to launch the Manage local users task from the command line using an accelerator name: sysman -accel users The following example shows how to invoke SysMan Menu in curses mode: sysman -ui cui The following example shows how to get a listing of tasks and their accelerators: sysman -list The following example, displays the status of the NFS related daemons on a remote cluster mem- ber: sysman -focus nfs_config_status SEE ALSO
Commands: sysman_station(8), sysman_cli(8), sysman_clone(8), sysman(8) System Administration http://your_machine_name:2301/SYSMAN/index.html sysman_menu(8)
All times are GMT -4. The time now is 05:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy