07-02-2008
pathnames
I didn't spend much time testing this, but I think it'll work fine.
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
string separator="/"; // use standard path separator unless backwards slashes are discovered
if (argc!=2) {cout<<"USAGE: pathname pathname"<<endl<<"RETURNS: foldername, no parent."<<endl; return -1;}
string pathname; pathname=argv[1];
cout<<"input:"<<pathname<<endl;
size_t lastslash=pathname.find_last_of("/");
size_t lastbslash=pathname.find_last_of("\\");
if ((lastslash!=string::npos)&&(lastbslash!=string::npos)) {cout<<"use either \\ or /, but not both"<<endl; return -1;}
if (lastslash==string::npos) {lastslash=lastbslash;separator="\\";}
if (lastslash==string::npos) {cout<<pathname<<endl; return 0;}
if ((lastslash+1)>=pathname.size()) {cout<<"error"<<endl; return -1;}
size_t parentslash=pathname.find_last_of(separator.c_str(),lastslash-1);
cout<<"output..."<<endl;
if (parentslash==string::npos) {cout<<&pathname[lastslash+1]<<endl; return 0;}
if (parentslash==lastslash) {cout<<pathname<<endl; return 0;}
parentslash++;
cout.write(&pathname[parentslash],lastslash-parentslash);
cout<<endl;
return 0;
}
10 More Discussions You Might Find Interesting
1. Programming
hello
i have a program in C (Unix - SOlaris5.7), and i have the next question:
i have a lot of char variable, and i want store their values in a char array. The problem is what i donīt know how to put the char variable's value into the array, and i don`t know how to define the array
please... (4 Replies)
Discussion started by: DebianJ
4 Replies
2. Shell Programming and Scripting
Hello! I'm trying to make a script that will make a list of the files in a source tree and sort them by size. Problem is I've run into a weird problem.
print array will give me numbers like 160, 220, 444 that i don't even know where they come from, and print array will give me the correct numbers... (5 Replies)
Discussion started by: Glauco
5 Replies
3. UNIX for Dummies Questions & Answers
Hi All,
I have a problem assigning variables to script.I have a script in which i have a while loop now i have to assign some values obtained to an array which will be used later in the script.Can anyone help how to do that.
At present my scrot looks like:
co=0
pco=0
co=`cat /tmp/highcpu... (4 Replies)
Discussion started by: usha rao
4 Replies
4. Programming
Here is a C function that replaces some non-ASCII chars to html decimal entities. It seems that the char "į" does not get replaced correctly but the rest do. Any idea why this is happening ?
(Please note that I had to place a space before each ; or they would not post correctly in this forum... (7 Replies)
Discussion started by: cyler
7 Replies
5. Programming
This is in C++.
Is there a way to take characters out of input data?
For example, hello 0 1 2 3 4 5 is within my double dimensional array:
char arr;
How would I output only the characters h,e,l,l,o? (0 Replies)
Discussion started by: puttster
0 Replies
6. Shell Programming and Scripting
Hi
I have two arrays:
arr1 = (demo demo2 demo3 demo4 demo5)
arr2 = (demo2 test demo)
I want to check that the values the "arr2" are present in "arr1"
Example
arr1 = (demo demo2 demo3 demo4 demo5)
arr2 = (demo2 test demo)
Output: Error
arr1 = (demo demo2 demo3 demo4 demo5)... (3 Replies)
Discussion started by: blito_loco
3 Replies
7. Shell Programming and Scripting
Hello ,
im sorry for my english .
im trying to create a dynamic menu that will display if the interface is ACTIVE OR STOPPED/FAILED
for some reason i cant get it to work properly
start_interface_func()
{
i=0
for interface_chk in 11 71 73 72 12 47 48 49 50 20 23 24 25 46 21 22 27 28... (5 Replies)
Discussion started by: visiown
5 Replies
8. Programming
Hi, this is my code.It's simple : there are 2 2D arrays and the multiplied to C.
#include<stdio.h>
#include<sys/shm.h>
#include<sys/stat.h>
#include<stdlib.h>
main()
{
int *A; //A
int *B; //B
int *C; //C
int i,j,x,k,d;
int id;
... (17 Replies)
Discussion started by: giampoul
17 Replies
9. Programming
When the STL generic algorithm's merge() function is used to merge two char arrays, the output is not as expected. Below is the program I tried with.
#include <iostream>
#include <algorithm>
#include <cstring>
#include <deque>
#include <iterator>
using namespace std;
int main() {
... (3 Replies)
Discussion started by: royalibrahim
3 Replies
10. Shell Programming and Scripting
I have two files:
file-1 is a list of number of interfaces in the switch and file-2 have VLAN-ID , VLAN-NAME , Interface belong to that VLAN like this:
file-1:
1/1
1/2
1/3
1/4
1/5
.
.
file-2:
1,"vlan-wifi",1/1,1/7,1/8 (9 Replies)
Discussion started by: SULTAN01
9 Replies
LEARN ABOUT DEBIAN
list_config_entries
list_config_entries(3alleg4) Allegro manual list_config_entries(3alleg4)
NAME
list_config_entries - Lists the names of all entries in a config section Allegro game programming library.
SYNOPSIS
#include <allegro.h>
int list_config_entries(const char *section, const char ***names);
DESCRIPTION
This function can be used to get a list of all entries in the given config section. The names parameter is a pointer to an array of
strings. If it points to a NULL pointer, the list will be allocated, else it will be re-allocated. You should free the list again with
free_config_entries if you don't need it anymore, or you can pass it again to list_config_entries and the memory will be re-used. See the
following example for how you can use it, it will print out the complete contents of the current configuration:
int i, n;
char const **sections = NULL;
char const **entries = NULL;
/* List all entries not in any section. */
n = list_config_entries(NULL, &entries);
for (i = 0; i
printf(" %s="%s"
", entries[i], get_config_string(
NULL, entries[i], "-"));
/* List all sections (and entries in them). */
n = list_config_sections(§ions);
/* loop through all section names */
for (i = 0; i
{
int j, m;
printf("%s
", sections[i]);
m = list_config_entries(sections[i], &entries);
/* loop through all entries in the section */
for (j = 0; j
{
printf(" %s="%s"
", entries[j], get_config_string(
sections[i], entries[j], "-"));
}
}
/* It is enough to free the arrays once at the end. */
free_config_entries(§ions);
free_config_entries(&entries);
RETURN VALUE
Returns the number of valid strings in the names array.
SEE ALSO
set_config_file(3alleg4), get_config_string(3alleg4), list_config_sections(3alleg4), free_config_entries(3alleg4)
Allegro version 4.4.2 list_config_entries(3alleg4)