String copy in C language


 
Thread Tools Search this Thread
Top Forums Programming String copy in C language
# 1  
Old 11-16-2009
String copy in C language

Hello,

I have a text file (FILE.txt) that contains the following information:

userAxxx.name@email.com userA
userBxxx.name@email.com userB
userxxCx.name@email.com userC
and more....

in scripting, I can easily do a grep and awk to store an email info into a string variable as following:

EMAL=`grep userA | awk '{print $1}' FILE.txt`
or
EMAIL=`nawk '$2 == "userB" {print $1}' FILE.txt

BUT, how do I translate above into C language?

I'm new in c programming and very appreciate for your help.

Thanks so much,
tqlam
# 2  
Old 11-16-2009
Read each input line and then parse it into tokens with strtok...the first token should be your email string.
# 3  
Old 12-03-2009
hi..
you can use fgets to read chunks of data into a string.
the code can be around like this
Code:
fd=open("your_file_name",O_RDONLY);
char  *email,*user;
fgets(fd,email,23); //it would store the value of email into the buffer email.

//likewise you can store the value of user too.
check the manual for fgets.

Last edited by Franklin52; 12-03-2009 at 03:32 PM.. Reason: Please use code tags!
# 4  
Old 12-03-2009
Quote:
Originally Posted by gaurav1086
hi..
you can use fgets to read chunks of data into a string.
the code can be around like this
Code:
fd=open("your_file_name",O_RDONLY);
char  *email,*user;
fgets(fd,email,23); //it would store the value of email into the buffer email.

//likewise you can store the value of user too.
check the manual for fgets.
Since the length of the email address could be variable the strtok method is preferred.
# 5  
Old 12-03-2009
hi.
well that was an example
it could be implemented this way
fstream file;
file.open("name_of_file",ios::in");
file.getline(email,100,' ');
file.getline(name,100,'\n');
# 6  
Old 12-03-2009
This is from a really old tutorial on strtok - which stdc function has the problem of destroying the string it parses. Code uses strdup to get around the problem:

Code:
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

char **
split( char *result[], char *src, const char *delim)
{
	  int i=0;
	  char *p=strtok(src, delim);
	  for(i=0; i< strlen(src); i++) result[i]=NULL;
	  
	  for(i=0; p!=NULL; p=strtok(NULL, delim), i++ )
	  {
	  	 result[i]=p;	  		  	
	  }
	  return result;
}

void
process(const char *src, const char *delim)
{
	  char **result=malloc( (strlen(src)+1) * sizeof( char *));
	  char *working=strdup(src);
    char **p=split(result, working, delim);
    
    for( ;*p!=NULL; p++)    
        fprintf(stdout, "%s\n", *p);
    fprintf(stdout,"\n");
    
    free(working);
    free(result);
}

int main(int argc, char **argv)
{
		process("This is the way we split our bread", " ");
		process("I,am,a,csv,line,,,with,nulls,before", ",");
		process("split,me,I,have,spaces, ,tabs,	,and	other junk", " ,	");
    return 0;
}

# 7  
Old 12-22-2009
Hello, thanks for all replies. I finally used strtok to parse into token.

Thanks again!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Copy a string to another file

OS version: RHEL 6.7 Shell : Bash I have a file like below. It has 500K lines. I want to extract TAG_IDs shown in single quote at the end to copied to another file. As if I had copied the TAG_IDs using block select (Column Select) in modern text editor $ cat file.txt UPDATE TAGREF SET... (9 Replies)
Discussion started by: John K
9 Replies

2. Shell Programming and Scripting

Copy last third char form string

HI Input A.txt ABC907 ABC907_1B_9 ABC985 ABC985_1A_9 ABC985 ABC985_1B_9 ABC985 ABC985_1C_9 ABC05037 ABC05037_1A_9 ABC05037 ABC05037_1B_9 Base of column 2 last third char. If It is A the 1,if B then 2 If C then 3 File B.txt ABC907 ABC907_1B_9 2 ABC985 ABC985_1A_9 1 ABC985... (8 Replies)
Discussion started by: asavaliya
8 Replies

3. Shell Programming and Scripting

Expect language separating two string connected by _(underscore)

Hi Folks, Anybody has an idea how to split string based on separator _ (underscore) in Expect programming language? e.g.if string is scmid1_scmid2 , i need to separate these two strings as scmid1 and scmid2. Thanks in advance. Sanket (1 Reply)
Discussion started by: Sanket
1 Replies

4. Shell Programming and Scripting

Help on Script of Copy String from column

Hello, My DATA: PLOKIJ1234G 12 13 14 15 PLOKIJ1234E 12 13 14 15 PLOKIJ1234F 12 22 33 44 IJNUHB12346 55 66 77 88 IJNUHB12347 32 34 45 67 IJUHU345D 23 23 22 33 IJUHYG23E 11 24 23 23 IJUHYG23F 77 88 99 00 output: PLOKIJ1234 PLOKIJ1234G 12 13 14 15 PLOKIJ1234... (11 Replies)
Discussion started by: asavaliya
11 Replies

5. Shell Programming and Scripting

input a string and copy lines from a file with that string on it

i have a file1 with many lines. i have a script that will let me input a string. for example, APPLE. what i need to do is to copy all lines from file1 where i can find APPLE or any string that i specify and paste in on file 2 thanks in advance! (4 Replies)
Discussion started by: engr.jay
4 Replies

6. Shell Programming and Scripting

String copy

Hi guys I've got two columns, PRODUCT and BRAND, the Brand column currently has the first word of each product, I've acheived this by using SED to copy the first word of the PRODUCT column, however you run into trouble when the brand has more than one word, i.e. 'Weight Watchers'. Is there... (22 Replies)
Discussion started by: mrpugster
22 Replies

7. Shell Programming and Scripting

how to copy one string in ksh into another

Hi Does anybody know if there is a utility/command in ksh which would allow to copy/insert the contents of one string into certain positions of the other? for example: A=" ABCDEF " B="HHH" I need to insert contents of string "B" into string "A" from position 3 to 5, so... (3 Replies)
Discussion started by: aoussenko
3 Replies

8. Shell Programming and Scripting

find a string and copy the string after that

Hi! just want to seek help on this: i have a file wherein i want to find a string and copy the string after that and paste that other string to a new file. ex: TOTAL 123456 find "TOTAL" and copy "123456" and paste "123456" to a new file NOTE: there are many "TOTAL" strings on that... (12 Replies)
Discussion started by: kingpeejay
12 Replies

9. Shell Programming and Scripting

Copy / string.

I'm trying to get a script to copy a url then put it in a different place in the file. Example is currently the script goes to a site takes the urls on it and then puts them into an html file. Only thing is I want to make them into links. So currently lynx goes to the page takes out the urls.... (6 Replies)
Discussion started by: Paulw0t
6 Replies

10. UNIX for Advanced & Expert Users

find and copy string in a file

Hello there I need to find a string in an file, and then copy to a new file from the previous 6 lines to 41 lines after the string. So, what i need to do , and just don't know how, is to find the string and copy 48 lines where the string would be in the 7th line. I don't know if i can do it with... (10 Replies)
Discussion started by: vascobrito
10 Replies
Login or Register to Ask a Question