regarding string length


 
Thread Tools Search this Thread
Top Forums Programming regarding string length
# 1  
Old 10-02-2008
regarding string length

Helo,
I have character array of sixe 128

char filename[128]

now I have one problem that when I enter filename as nothing I got value
as " " ",`\0` " .

when I find this string length ( " ",`\0`) as 1(one).
actually I want to make this length as zero.

so what should I do
# 2  
Old 10-02-2008
string comparation problem

I m doing programming in c using linux.

I have one character array filename of 126 size.

now during developping my module I have situation where
I got filename = " ",`\0`

Now I want to check for this condtion

I have try following option but it didnot work

(1)
int len;
if (filename == " ",`\0` )
{
len =0;
}

(2) int len;

if ( strcmp(filename, " " ",`\0`") )
{
len = 0;
}

both method are not working

can you tell me how do I check filename = " ",`\0' condition

Regards,
Amit
# 3  
Old 10-02-2008
You generally want,
Code:
if (filename[0] == '\0') {
}

But it's clear you are confused about C strings in general. This tutorial seems appropriate enough: C strings
# 4  
Old 10-03-2008
Quote:
Originally Posted by otheus
You generally want,
Code:
if (filename[0] == '\0') {
}

But it's clear you are confused about C strings in general. This tutorial seems appropriate enough: C strings
helo I try if(filename[0] == '\0') {
}

but it was not working

actuall i got filename= " ",`\0`

so how do I do

I also try f (filename[0] == " ",'\0') {
}

but that also not working

Regards,
Amit
# 5  
Old 10-03-2008
Oh, you mean there's a SPACE as the entire filename? Okay, then you can do:

Code:
/* version 1 */
if (filename[0] == ' ' && filename[1] == '\0') { ... do stuff here } 

/* version 2 */
if (strcmp(filename," ")==0) { ... do stuff here ... }

# 6  
Old 10-03-2008
filename[0] is the first character of the string. If the string is empty, the first character will be the terminator null byte.

C string-handling functions generally cannot read past a null byte. Your notation " ", `\0` is extremely non-standard, and seems to correspond to a string consisting of a space, followed by a null byte (which is usually not explicitly marked or required; it's the end of string, plain and simple). That string obviously has a length of one.

The C equality operator == does not compare strings in any meaningful way; you need to use a function such as strcmp. (I too thought this was shocking when I was learning C.) You can compare individual single characters (denoted by single quotes) one by one, which is what strcmp basically does in a loop over the strings it compares. Double quotes are used around strings (character arrays).

The C string tutorial which was already pointed out to you once probably explains all of this a lot better. Please read it.
# 7  
Old 10-03-2008
Actually, his syntax with the comma serves to nullify the expression. Remember that a comma has lower precedence than just about anything else in C, and it creates an independent expression. C will use only the right-most part as the value for the entire expression. So

Code:
if (0==0, 0) { printf("false\n"); } 
if (1==0, 1) { printf("true\n"); }

parses and will always print "true".
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Determining length of string

I have this script which is very easy: file=`echo 01114` echo $file 01114 then I ran this if ; then echo "yes";fi it returned yes even though there are only 5 digits there So then I tried file=`echo abcd` echo $file abcd if ]; then echo "yes";fi if ]; then echo "yes";fi It... (2 Replies)
Discussion started by: newbie2010
2 Replies

2. Shell Programming and Scripting

String Length

Hi All, One of my source file is having Date column and the format of the column is YYYY-MM-DD. As per my business logic I have to check if the date format either YYY-MM-DD or YYYY-M-DD. If any records are in this format then I have print all the records and send those invalid records through... (4 Replies)
Discussion started by: suresh_target
4 Replies

3. Shell Programming and Scripting

String with different length

let image that we have string: QQQQQQQ:ABCDE:FFFFFF:GGGGG in second field can be 0 or 5 characters if A exist i need set variable ex: VAR=yes if B exist i need set variable ex: VAR1=yes if C exist i need set variable ex: VAR2=yes etc ... if second field is empty no variable to set if... (4 Replies)
Discussion started by: vikus
4 Replies

4. UNIX for Dummies Questions & Answers

Read a string with leading spaces and find the length of the string

HI In my script, i am reading the input from the user and want to find the length of the string. The input may contain leading spaces. Right now, when leading spaces are there, they are not counted. Kindly help me My script is like below. I am using the ksh. #!/usr/bin/ksh echo... (2 Replies)
Discussion started by: dayamatrix
2 Replies

5. UNIX for Dummies Questions & Answers

length of string

Hi lets say i have a variable output="string" how can you find the length of the string contained in this variable? i guess "wc" cannot be used. its only for files. (8 Replies)
Discussion started by: silas.john
8 Replies

6. Shell Programming and Scripting

read string, check string length and cut

Hello All, Plz help me with: I have a csv file with data separated by ',' and optionally enclosed by "". I want to check each of these values to see if they exceed the specified string length, and if they do I want to cut just that value to the max length allowed and keep the csv format as it... (9 Replies)
Discussion started by: ozzy80
9 Replies

7. Shell Programming and Scripting

sed problem - replacement string should be same length as matching string.

Hi guys, I hope you can help me with my problem. I have a text file that contains lines like this: 78 ANGELO -809.05 79 ANGELO2 -5,000.06 I need to find all occurences of amounts that are negative and replace them with x's 78 ANGELO xxxxxxx 79... (4 Replies)
Discussion started by: amangeles
4 Replies

8. Shell Programming and Scripting

String length in ksh

Hi all, I have tried the following simple code in ksh. (length.sh) #! /usr/bin/ksh var="xxxxxx0987890" echo stringlength is ${#var} but this gives me a error saying "length.sh: bad substitution" Can some one please help me in resolving this. (4 Replies)
Discussion started by: ssgrpid
4 Replies

9. UNIX for Dummies Questions & Answers

length of the string

Hi all, pls help me in finding the length of the given string, do we need to write a code seperately or is there any command?? pls help. (3 Replies)
Discussion started by: vasikaran
3 Replies

10. UNIX for Dummies Questions & Answers

length of string

How one can measure the length of a string but not with the help of awk utility Can we write shell script for the same ? (2 Replies)
Discussion started by: dilipluhar
2 Replies
Login or Register to Ask a Question