11-07-2019
The empty line prints str1.
Because it was not matched in scanf() it has the value from the previous line - therefore the str1= assignment,
should set it to "" with one of
str1[0]=0 or str1[0]='\0' or with a bit more overhead strcpy(str1, "").
But you have str1[0]='0' that overwrites the first character of the previous value with a 0 character.
This User Gave Thanks to MadeInGermany For This Post:
10 More Discussions You Might Find Interesting
1. Programming
Please delete this thread. (0 Replies)
Discussion started by: jxh461
0 Replies
2. Programming
I have a string
Form this string, I want to extract
I am unable to do that with sscanf because of the space between the words. What else can I use?
#include <stdio.h>
char buf_2;
int
main()
{
char *buf_1 = "\\\\?\\whats going on";
sscanf(buf_1,... (4 Replies)
Discussion started by: the_learner
4 Replies
3. Shell Programming and Scripting
Hi all,
My simple AWK code does C = A - B
If C can be a negative number, how awk printf formating handles it using string format specifier.
Thanks in advance
Kanu
:confused: (9 Replies)
Discussion started by: kanu_pathak
9 Replies
4. Programming
Hi everybody,
i need help with this function, i'm programming in CGI with C and i can't make this work.
QUERY_STRING is something like: user=MYUSER&pass=MYPASS
So, what i want is to store the strings containing the username and the password into str1 and str2 respetively, here's the... (4 Replies)
Discussion started by: Zykl0n-B
4 Replies
5. Programming
I need to match a float inside a very long string (about 5000 chars) with sscanf. (I trimmed the string in this example.) I can't seem to match all the chars that come before and after the float.
int main(void)
{
char A = "";
strcat(A, " hello world! WORD' name='5.3498' hello world! ... (1 Reply)
Discussion started by: limmer
1 Replies
6. Programming
sscanf does not stop at the first "&". How can I extract "doe" ?
char A = "name=john&last=doe&job=vacant&";
char B = "last";
char C = "";
char *POINTER = strstr(A, B);
sscanf(POINTER + strlen(B), "=%s%*", C);
printf("%s\n", C); // doe&job=vacant& (2 Replies)
Discussion started by: limmer
2 Replies
7. Programming
How can I separetely extract the string and int after "dribble" ? (sscanf must limit TEXT to 9 chars to avoid buffer overflows.)
How come this code does not work with "dribbletext08" but does with "dribbletext05" ?
int main(void)
{
char TEXT = "";
int NUMBER = 0;
... (2 Replies)
Discussion started by: cyler
2 Replies
8. Shell Programming and Scripting
Hi All,
I have created a Unix Shell script whch creates a *.csv file and export it to Excel.
The problem i am facing is that Users wants one of the AMOUNT field in comma separted values. Example :
if the Amount has the value as 3000000 User wants to be in 3,000,000 format.
This Amount format... (2 Replies)
Discussion started by: rawat_me01
2 Replies
9. Programming
Hi with the following code
int a, b;
while ((n = readline (connfd, buf, sizeof(buf)-1)) > 0)
{
buf = '\0';
if (sscanf(buf,"%d %d",&a,&b) != 2)
snprintf (buf, sizeof(buf), "data error\r\n");
else
{
printf("\nRecvd %d and %d",a,b);
... (1 Reply)
Discussion started by: princebadshah
1 Replies
10. Shell Programming and Scripting
"Help Me" Need script for transferring bulk files from one format to text format in a unix server.
Please suggest (2 Replies)
Discussion started by: Kranthi Kumar
2 Replies
LEARN ABOUT PHP
levenshtein
LEVENSHTEIN(3) 1 LEVENSHTEIN(3)
levenshtein - Calculate Levenshtein distance between two strings
SYNOPSIS
int levenshtein (string $str1, string $str2)
DESCRIPTION
int levenshtein (string $str1, string $str2, int $cost_ins, int $cost_rep, int $cost_del)
The Levenshtein distance is defined as the minimal number of characters you have to replace, insert or delete to transform $str1 into
$str2. The complexity of the algorithm is O(m*n), where n and m are the length of $str1 and $str2 (rather good when compared to simi-
lar_text(3), which is O(max(n,m)**3), but still expensive).
In its simplest form the function will take only the two strings as parameter and will calculate just the number of insert, replace and
delete operations needed to transform $str1 into $str2.
A second variant will take three additional parameters that define the cost of insert, replace and delete operations. This is more general
and adaptive than variant one, but not as efficient.
PARAMETERS
o $str1
- One of the strings being evaluated for Levenshtein distance.
o $str2
- One of the strings being evaluated for Levenshtein distance.
o $cost_ins
- Defines the cost of insertion.
o $cost_rep
- Defines the cost of replacement.
o $cost_del
- Defines the cost of deletion.
RETURN VALUES
This function returns the Levenshtein-Distance between the two argument strings or -1, if one of the argument strings is longer than the
limit of 255 characters.
EXAMPLES
Example #1
levenshtein(3) example
<?php
// input misspelled word
$input = 'carrrot';
// array of words to check against
$words = array('apple','pineapple','banana','orange',
'radish','carrot','pea','bean','potato');
// no shortest distance found, yet
$shortest = -1;
// loop through words to find the closest
foreach ($words as $word) {
// calculate the distance between the input word,
// and the current word
$lev = levenshtein($input, $word);
// check for an exact match
if ($lev == 0) {
// closest word is this one (exact match)
$closest = $word;
$shortest = 0;
// break out of the loop; we've found an exact match
break;
}
// if this distance is less than the next found shortest
// distance, OR if a next shortest word has not yet been found
if ($lev <= $shortest || $shortest < 0) {
// set the closest match, and shortest distance
$closest = $word;
$shortest = $lev;
}
}
echo "Input word: $input
";
if ($shortest == 0) {
echo "Exact match found: $closest
";
} else {
echo "Did you mean: $closest?
";
}
?>
The above example will output:
Input word: carrrot
Did you mean: carrot?
SEE ALSO
soundex(3), similar_text(3), metaphone(3).
PHP Documentation Group LEVENSHTEIN(3)