I don't know about you , but it works with me.

input sth like.
abc/n
and you'll get 
abc/

Maybe you should make clear what you are trying to achieve.

You  could Read this up too
http://linux.die.net/man/3/scanf
[ 
Matches a nonempty sequence of characters from the specified set of accepted 
characters; the next pointer must be a pointer to char,
and there must
be enough room for all the characters in the string, plus a terminating
null byte. The usual skip of leading white space is suppressed. The
string is to be
made up of characters in (or not in) a particular set; the set is
defined by the characters between the open bracket [ character and a close 
bracket ] character. The set excludes those characters if the first character 
after the open bracket is a circumflex (^).
To include a close
bracket in the set, make it the first character after the open bracket
or the circumflex; any other position will end the set. The hyphen
character - is also special; when placed between two other characters, it
adds all intervening characters to the set. To include a hyphen, make
it the last
character before the final close bracket. For instance, [^]0-9-] means the set 
"everything except close bracket, zero through nine, and
hyphen". The string ends with the appearance of a character not in the
(or, with a circumflex, in) set or when the field width runs out. 

Lawal.O




________________________________
From: ayyaz <[email protected]>
To: [email protected]
Sent: Sunday, June 21, 2009 9:31:51 PM
Subject: [c-prog] Why doesn't this work?





Hello,

Why doesn't the following code work?

#include <stdio.h>

int main(void)
{
char text[80];

printf("Please enter a text: ");
scanf("%[\^n] ",text);
printf("\n%s" ,text);

}

Thanks,
--ayyaz

   


      

[Non-text portions of this message have been removed]

Reply via email to