Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I have a Linux C program that, among other things, takes a string, gets rid of the invalid characters, then uses that string as a filename. I came up with a shell command using 'tr' to do what I want, but how can I call that within a C program and get a result in return? If 'exec' or similar calls are used, they don't return if they are successful.
But if I 'exec'ed a 'tr' command on a string, I still wouldn't be able to get the resulting string; I'd just be finding out if the command was successful or not.
Location: Northeastern Michigan, where Carhartt is a Designer Label
Distribution: Slackware 32- & 64-bit Stable
Posts: 3,541
Rep:
Why not include a redirect into a file in /tmp then open that and see what you got? That ought to be quick and easy.
On another hand, rather than using one of the exec functions, why not parse the string and get rid of the blanks, backslants, slashes, carets and all the other junk folks seem to feel it necessary to type in things? That's a pretty straight-forward proposition and you can actually control what happens as you go. Something like set a pointer to the beginning of the string and character-by-character see what's there and either change it to what you want or just ignore it might just be the berries.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.