Sponsored Content
Top Forums Programming Merge two strings by overlapped region Post 302895993 by Corona688 on Thursday 3rd of April 2014 05:12:38 PM
Old 04-03-2014
Code:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

void strmerg(char * const out, const char *str1, const char *str2) {
        // Position in 'str1'.  Counts backwards from end.
        // Each loop, str1+a will be 1 longer, i.e.  "t", "at", "tat", "atat", "Gatat"...
        int a=strlen(str1)-1;
        // How many bytes of overlap has been found.  0 if none.
        int found=0;
        // How many characters of overlap to check for.  Counts up from 1.
        int b=1;

        while(a >= 0) // Loop until a is negative
        {
                // Compare the last 'b' bytes of str1, to the first 'b' bytes of str2.
                // Using strncmp instead of strcmp prevents it from checking ALL of str2,
                // because strncmp takes maximum length as an argument.
                // It will return 0 if they are equal.
                if(strncmp(str1+a, str2, b) == 0) found=b;
                a--;
                b++;
        }

        strcpy(out, str1);
        // Strip off the first 'found' characters of str2.
        strcat(out, str2+found);
}

int main(int argc, char *argv[])
{
        char out[4096];
        if (argc != 3) {
                printf("Error! \nUsage: ./%s string1 string2\n", argv[0]);
                exit(EXIT_FAILURE);
        }

        printf("string 1 is %s\n", argv[1]);
        printf("string 2 is %s\n", argv[2]);

        strmerg(out, argv[1], argv[2]);
        printf("Output is %s\n", out);

        return(0);
}

There's probably ways to make strmerg faster.
This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

stack region

how can i determine that what percentage of stack region is currently is used? (i am using tru64 unix) (2 Replies)
Discussion started by: yakari
2 Replies

2. UNIX for Dummies Questions & Answers

Merge two strings not from files

str1="this oracle data base record" str2="one two three four five" Output: this one oracle two data three base four record five str1 and str2 have the same column but they are not fixed columns. I can do it with "paste" but I do not want to create file everytime the script runs from... (2 Replies)
Discussion started by: buddyme
2 Replies

3. UNIX for Advanced & Expert Users

Best practice - determining what region you are on

Hello all, I have a question about what you think the best practice is to determine what region you are running on when you have a system setup with a DEV/TEST, QA, and PROD regions running the same scripts in all. So, when you run in DEV, you have a different directory structure, and you... (4 Replies)
Discussion started by: Rediranch
4 Replies

4. Shell Programming and Scripting

Region between lines

How can I find the regions between specific lines? I have a file which contains lines like this: chr1 0 17388 0 chr1 17388 17444 1 chr1 17444 17599 2 chr1 17599 17601 1 chr1 17601 569791 0 chr1 569791 569795 1 chr1 569795 569808 2 chr1 569808 569890 3 chr1 569890 570047 4 ... (9 Replies)
Discussion started by: linseyr
9 Replies

5. UNIX for Dummies Questions & Answers

overlapped genomic coordinates

Hi, I would like to know how can I get the ID of a feature if its genomic coordinates overlap the coordinates of another file. Example: Get the 4th column (ID) of this file1: chr1 10 100 gene1 chr2 3000 5000 gene2 chr3 200 1500 gene3 if it overlaps with a feature in this file2: chr2... (1 Reply)
Discussion started by: fadista
1 Replies

6. AIX

Change lv REGION in HDISK1

Dears my rootvg is missed up i can not extend the /opt as soon as i try to extend the Filesystem its give me that there is not enough space . as there any way to change the REGION of the LVs in HDISK1 ? lspv -p hdisk0 hdisk0: PP RANGE STATE REGION LV NAME TYPE ... (8 Replies)
Discussion started by: thecobra151
8 Replies

7. Shell Programming and Scripting

Merge left hand strings mapping to different right hand strings

Hello, I am working on an Urdu to Hindi dictionary which has the following structure: a=b a=c n=d n=q and so on. i.e. Headword separated from gloss by a = I am giving below a live sample بتا=बता بتا=बित्ता بتا=बुत्ता بتان=बतान بتان=बितान بتانا=बिताना I need the following... (3 Replies)
Discussion started by: gimley
3 Replies

8. Programming

Perl script to merge cells in column1 which has same strings, for all sheets in a excel workbook

Perl script to merge cells ---------- Post updated at 12:59 AM ---------- Previous update was at 12:54 AM ---------- I am using below code to read files from a dir and print to excel. open(my $in, '<', $file) or die "Could not open file: $!"; my $rowCount = 0; my $colCount = 0;... (11 Replies)
Discussion started by: Jack_Bruce
11 Replies

9. Shell Programming and Scripting

Merge strings from a file into a template

I am preparing a morphological grammar of Marathi to be placed in open-source. I have two files. The first file called Adverbs contains a whole list of words, one word per line A sample is given below: आधी इतक इतपत उलट एवढ ऐवजी कड कडनं कडल कडील कडून कडे करता करिता खाल (2 Replies)
Discussion started by: gimley
2 Replies

10. Shell Programming and Scripting

Merge strings with ignore case

I have a bi-lingual database of a large number of dictionaries. It so happens that in some a given string is in upper case and in others it is in lower case. An example will illustrate the issue. toll Tax=पथ-कर Toll tax=राहदारी कर toll tax=टोल I want to treat all three instances of toll tax... (3 Replies)
Discussion started by: gimley
3 Replies
INTLTOOL-MERGE(8)					      System Manager's Manual						 INTLTOOL-MERGE(8)

NAME
intltool-merge - merge translated strings into various types of file SYNOPSIS
intltool-merge [option]... PO_DIRECTORY FILENAME OUTPUT_FILE DESCRIPTION
Merge translated strings in po files in PO_DIRECTORY with the original application file FILENAME, and output the file OUTPUT_FILE contain- ing both original and localized strings. If FILENAME is an XML file, OUTPUT_FILE will contain repeated xml nodes, where each node contains one of the localized strings with "xml:lang" attribute. OPTIONS
Mode of operation -b --ba-style Merge files in bonobo-activation style, which is used for bonobo servers. -d --desktop-style Merge files in desktop style, which is similar to the Windows .ini file format. -k --keys-style Merge files in keys style, which is used for metadata. -o --oaf-style (OBSOLETE) Same as -b/--ba-style. -r --rfc822deb-style Merge files in RFC 822 style, which is usually used in Debian configuration files. --quoted-style Merge files in quoted string style, which just translates any strings within "". -x --xml-style Merge files in standard XML style, both as attributes and as raw pcdata. Other options -u --utf8 Convert all strings to UTF-8 before merging. -p --pass-through Use strings as is in .po files without conversion (STRONGLY unrecommended with -x). -c --cache (TBD) -q --quiet Be quiet while running. -v --version Show version information. -h --help Show usage and basic help information. FILES
po/.intltool-merge-cache Cache file generated by intltool-merge, that contains all strings in all po files separated by 1. REPORTING BUGS
Report bugs to http://bugs.launchpad.net/intltool AUTHOR
Darin Adler <darin@bentspoon.com> Kenneth Christiansen <kenneth@gnu.org> Maciej Stachowiak <mjs@eazel.com> SEE ALSO
iconv(1), intltoolize(8), intltool-prepare(8), intltool-extract(8), intltool-update(8) intltool 2003-08-02 INTLTOOL-MERGE(8)
All times are GMT -4. The time now is 04:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy