Sponsored Content
Top Forums Programming A question about printing error message with perror Post 302344249 by dariyoosh on Saturday 15th of August 2009 11:38:06 AM
Old 08-15-2009
Quote:
Originally Posted by pludi
Did you read up on what perror() does?
Since neither you nor any other function set errno, it's probably defaulted to zero, which means success.

If you want to output any error messages that stem from logical errors, I'd suggest writing them to stderr via fprintf.

Dear pludi


Thank you very much for your help. Your solution solved my problem.

Code:
if (argc != 3)
{
    fprintf(stderr, "use: ./myProgram <source file> <target file>\n");
    return 1;
}

And it prints only the error message.


Thanks a lot for your help.


Kind Regards,
Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

“Ostream” object is not printing message on HP-UNIX for debug mode

The following C++ code segment is not working in debug mode build on HP-UNIX machine. It is not printing "Hello World" message on the screen. While it is working fine in release mode build. ============================================== class KLogStreamBuf : public streambuf { public:... (0 Replies)
Discussion started by: heena
0 Replies

2. Solaris

Error message printing to Windows on port 515

Hello, We have an application which runs on Windows 2000 that responds to prrint requests by anyone using RFC1179 protocol on port 515. We are getting an error message when submitting print requests from Sun Solaris 9. "Windows 2000 LPD Server Error: Specified printer does not exist"... (0 Replies)
Discussion started by: pauls
0 Replies

3. Programming

does perror() set errno?

here the program gives a odd result: #include <stdio.h> int main(){ perror("first"); perror("next"); return 0; } result: first: Success next: Illegal seek why? any resonable explanation? i found no information about this in man pages. thanks in advance (2 Replies)
Discussion started by: ebd
2 Replies

4. Shell Programming and Scripting

shell script, why isn't if printing message?

Why isn't printing message? 1 #!/bin/sh 2 3 something(){ 4 echo "Inside something" 5 echo $1 $2 6 } 7 val=$(something "Hello " "world") But it prints. 1 #!/bin/sh 2 3 something(){ 4 echo "Inside something" 5 echo $1 $2 6 } 7... (4 Replies)
Discussion started by: cola
4 Replies

5. Post Here to Contact Site Administrators and Moderators

Message Editor question

Hia, this is a very low priority request, but I am slightly annoyed by the behaviour of the tags in the message editor. They behave assymetric in the sense that the opening tag is introducing an empty line, and the closing tag is not, and can't be convinced to do otherwise. I know I am... (1 Reply)
Discussion started by: Andre_Merzky
1 Replies

6. UNIX for Dummies Questions & Answers

perror with signals

I have following problem with this code.. First time trough the main loop..... perror gives ....blocked signal:success(all other times gives illlegal seek) Should every time trought the main loop be success?? And the perror otside of main loop...didn't change mask:success That line of code... (2 Replies)
Discussion started by: joker40
2 Replies

7. Programming

help with C programming, perror

i am trying to use the perror function: something like perror("WRONG!!!"); but when i see the message in the terminal, it comes out like WRONG!!! : Success How can i change it to WRONG!!! : WRONG!!! well i just want to have my own custom message for the part after the colon... (1 Reply)
Discussion started by: omega666
1 Replies

8. Shell Programming and Scripting

Printing all lines before a specific string and a custom message 2 lines after

Hello all, I need to print all the lines before a specific string and print a custom message 2 lines after that. So far I have managed to print everything up the string, inclusively, but I can't figure out how to print the 2 lines after that and the custom message. My code thus far is:... (4 Replies)
Discussion started by: SEinT
4 Replies

9. Shell Programming and Scripting

Printing a message in file without opening it in perl

Hello friends, i have a perl script as below ... for (0 ..$#values) { ##want to print some message here in Report.txt file print `find /abc/xyz/pqr/$values" -type f -ls` >> Report.txt } I am able to get output of print `find /abc/xyz/pqr/$values" -type f -ls` >> Report.txt in... (2 Replies)
Discussion started by: harpal singh
2 Replies

10. Solaris

Display Message Question

I'm have a script that I am creating and I want the dmesg command to only show output for the current day and the day before. What would be the command to make this work? Thanks (8 Replies)
Discussion started by: MattyJ2009
8 Replies
PERROR(3P)						     POSIX Programmer's Manual							PERROR(3P)

PROLOG
This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the correspond- ing Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux. NAME
perror -- write error messages to standard error SYNOPSIS
#include <stdio.h> void perror(const char *s); DESCRIPTION
The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2008 defers to the ISO C standard. The perror() function shall map the error number accessed through the symbol errno to a language-dependent error message, which shall be written to the standard error stream as follows: * First (if s is not a null pointer and the character pointed to by s is not the null byte), the string pointed to by s followed by a <colon> and a <space>. * Then an error message string followed by a <newline>. The contents of the error message strings shall be the same as those returned by strerror() with argument errno. The perror() function shall mark for update the last data modification and last file status change timestamps of the file associated with the standard error stream at some time between its successful completion and exit(), abort(), or the completion of fflush() or fclose() on stderr. The perror() function shall not change the orientation of the standard error stream. On error, perror() shall set the error indicator for the stream to which stderr points, and shall set errno to indicate the error. Since no value is returned, an application wishing to check for error situations should call clearerr(stderr) before calling perror(), then if ferror(stderr) returns non-zero, the value of errno indicates which error occurred. RETURN VALUE
The perror() function shall not return a value. ERRORS
Refer to fputc(). The following sections are informative. EXAMPLES
Printing an Error Message for a Function The following example replaces bufptr with a buffer that is the necessary size. If an error occurs, the perror() function prints a message and the program exits. #include <stdio.h> #include <stdlib.h> ... char *bufptr; size_t szbuf; ... if ((bufptr = malloc(szbuf)) == NULL) { perror("malloc"); exit(2); } ... APPLICATION USAGE
Application writers may prefer to use alternative interfaces instead of perror(), such as strerror_r() in combination with fprintf(). RATIONALE
None. FUTURE DIRECTIONS
None. SEE ALSO
fprintf(), fputc(), psiginfo(), strerror() The Base Definitions volume of POSIX.1-2008, <stdio.h> COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2013 Edition, Standard for Information Technol- ogy -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 7, Copyright (C) 2013 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. (This is POSIX.1-2008 with the 2013 Technical Corrigendum 1 applied.) In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Stan- dard is the referee document. The original Standard can be obtained online at http://www.unix.org/online.html . Any typographical or formatting errors that appear in this page are most likely to have been introduced during the conversion of the source files to man page format. To report such errors, see https://www.kernel.org/doc/man-pages/reporting_bugs.html . IEEE
/The Open Group 2013 PERROR(3P)
All times are GMT -4. The time now is 08:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy