Sponsored Content
Top Forums Programming C programming + problem with char arrays Post 302211187 by WebKruncher on Wednesday 2nd of July 2008 09:45:28 PM
Old 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

char array problem

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

Problem with arrays in awk

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

Problem assigning variables to arrays

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

char problem ?

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

Char arrays

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

Problem with arrays

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

Problem with arrays and loop

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

problem in multiplying arrays

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

STL algorithm merge() function to concatenate char arrays

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

Multidimensional arrays 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
TAU_MAPPING_CREATE(3)						  TAU Mapping API					     TAU_MAPPING_CREATE(3)

NAME
TAU_MAPPING_CREATE - Creates a mapping SYNOPSIS
C/C++: TAU_MAPPING_CREATE(char *name, char *type, char *groupname, unsigned long key, int tid); DESCRIPTION
TAU_MAPPING_CREATE creates a mapping and associates it with the key that is specified. Later, this key may be used to retrieve the FunctionInfo object associated with this key for timing purposes. The thread identifier is specified in the tid parameter. EXAMPLE
C/C++ : class MyClass { public: MyClass() { TAU_MAPPING_LINK(runtimer, TAU_USER); } ~MyClass() {} void Run(void) { TAU_MAPPING_PROFILE(runtimer); // For one object TAU_PROFILE("MyClass::Run()", " void (void)", TAU_USER1); cout <<"Sleeping for 2 secs..."<<endl; sleep(2); } private: TAU_MAPPING_OBJECT(runtimer) // EMBEDDED ASSOCIATION }; int main(int argc, char **argv) { TAU_PROFILE_INIT(argc, argv); TAU_PROFILE("main()", "int (int, char **)", TAU_DEFAULT); MyClass x, y, z; TAU_MAPPING_CREATE("MyClass::Run() for object a", " " , TAU_USER, "TAU_USER", 0); MyClass a; TAU_PROFILE_SET_NODE(0); cout <<"Inside main"<<endl; a.Run(); x.Run(); y.Run(); } SEE ALSO
TAU_MAPPING_LINK(3), TAU_MAPPING_OBJECT(3), TAU_MAPPING_PROFILE(3) 08/31/2005 TAU_MAPPING_CREATE(3)
All times are GMT -4. The time now is 06:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy