Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Dummies Questions & Answers


UNIX for Dummies Questions & Answers If you're not sure where to post a UNIX or Linux question, post it here. All UNIX and Linux newbies welcome !!

Closed Thread    
 
Thread Tools Search this Thread Display Modes
    #1  
Old 06-24-2012
Registered User
 
Join Date: Jun 2012
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Wrench Read / write file exemples

hello world, i was looking for exemples for writing ans reading in / from a file, more exactly a text file; and how i'm only at very beagining, if anyone have some exemples very simple, very 'classic' , -with explications- and not hard to undersand . i was wondering that some of you are theacher and meet this problem frequent ,or just you may have some answers near. thank you and scuze my bad english.
Sponsored Links
    #2  
Old 06-24-2012
spacebar's Avatar
Registered User
 
Join Date: Oct 2009
Location: spaceBAR Central
Posts: 294
Thanks: 0
Thanked 58 Times in 58 Posts
What are you looking to do this in? A shell(i.e. ksh, bash, etc), perl, c, java, etc. from a database(i.e. oracle, db2, etc)?
Sponsored Links
    #3  
Old 06-25-2012
Registered User
 
Join Date: Jun 2012
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by spacebar View Post
What are you looking to do this in? A shell(i.e. ksh, bash, etc), perl, c, java, etc. from a database(i.e. oracle, db2, etc)?
well , i know how to do it in c , c++ and java and is pretty easy, what i don't undersandd are the shell comandes ,it looks like c but a little more absatract (so far), and therefore i'm looking for exemples with some explanations for comandes
    #4  
Old 06-25-2012
vbe's Avatar
vbe vbe is offline Forum Staff  
Moderator
 
Join Date: Sep 2005
Location: Switzerland - GE
Posts: 4,633
Thanks: 118
Thanked 256 Times in 245 Posts
What shell are you using? what is your OS?
Sponsored Links
    #5  
Old 06-25-2012
Registered User
 
Join Date: Jun 2012
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Quote:
Originally Posted by vbe View Post
What shell are you using? what is your OS?
linux; now i'm using ubuntu instaled on windows and i sure hope that don't make me any problem

---------- Post updated at 02:28 AM ---------- Previous update was at 02:26 AM ----------

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main(int argc, char *argv[])
{
FILE *out;
int i;
int mutex, empty, full;
char buffer_sir_citit [100];
struct sembuf sem_down, sem_up;



mutex = semget(26, 1, 0666 | IPC_CREAT | O_EXCL);
if (mutex <= 0)
{
if (errno == EEXIST) mutex = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(mutex, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat mutex \n");
return(1);
}
}

empty = semget(35, 1, 0666 | IPC_CREAT | O_EXCL);
if (empty <= 0)
{
if (errno == EEXIST) empty = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(empty, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat empty \n");
return(1);
}
}

full = semget(42, 1, 0666 | IPC_CREAT | O_EXCL);
if (full <= 0)
{
if (errno == EEXIST) full = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 0;
if (semctl(full, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat full \n");
return(1);
}
}


sem_down.sem_num = 0;
sem_down.sem_op = -1; /* P() */
sem_down.sem_flg = SEM_UNDO;

sem_up.sem_num = 0;
sem_up.sem_op = 1; /* P() */
sem_up.sem_flg = SEM_UNDO;

while (1)
{
scanf("%s\n", buffer_sir_citit);
semop(empty, &sem_down, 1);
semop(mutex, &sem_down, 1);
out = fopen("file.out","w");

if (out<0)
{
printf("Nu exista fisierul \n");
exit(1);
}
fprintf(out, "%s\n", buffer_sir_citit);
fclose(out);

semop(mutex, &sem_up, 1);
semop(full, &sem_up, 1);
}


}



#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
#include <errno.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main()
{

FILE *out;
int i;
int mutex, empty, full;
char buffer_sir_citit [100];
struct sembuf sem_down, sem_up;



mutex = semget(26, 1, 0666 | IPC_CREAT | O_EXCL);
if (mutex <= 0)
{
if (errno == EEXIST) mutex = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(mutex, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat mutex \n");
return(1);
}
}

empty = semget(35, 1, 0666 | IPC_CREAT | O_EXCL);
if (empty <= 0)
{
if (errno == EEXIST) empty = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 1;
if (semctl(empty, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat empty \n");
return(1);
}
}

full = semget(42, 1, 0666 | IPC_CREAT | O_EXCL);
if (full <= 0)
{
if (errno == EEXIST) full = semget(1356, 1, 0666);
else
{printf("fail to get semaphore"); exit(1);}
}
else
{
union semun sem_union;
sem_union.val = 0;
if (semctl(full, 0, SETVAL, sem_union) == -1)
{
printf("nu s-a initializat full \n");
return(1);
}
}


sem_down.sem_num = 0;
sem_down.sem_op = -1; /* P() */
sem_down.sem_flg = SEM_UNDO;

sem_up.sem_num = 0;
sem_up.sem_op = 1; /* P() */
sem_up.sem_flg = SEM_UNDO;

while (1)
{
semop(full, &sem_down, 1);
semop(mutex, &sem_down, 1);

out = fopen("file.out","r");

if (out<0)
{
printf("Nu exista fisierul \n");
exit(1);
}

fscanf(out, "%s\n", &buffer_sir_citit);
fclose(out);

semop(mutex, &sem_up, 1);
semop(empty, &sem_up, 1);

printf("%s\n", buffer_sir_citit);
}
}

---------- Post updated at 02:30 AM ---------- Previous update was at 02:28 AM ----------

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};
int main(int argc, char *argv[])
{

int s;
struct sembuf sem_b;



s = semget(1356, 1, 0666 | IPC_CREAT);

union semun sem_union;
sem_union.val = 1;
if (semctl(s, 0, SETVAL, sem_union) == -1)
{
printf("Nu exista fisierul \n");
return(1);
}

exit(0);
}


#include<stdlib.h>
#include<stdio.h>

int main(int argc, char *argv[])
{
FILE *out;
int i;

out = fopen("file.out","w");

if (argc>1)
for (i=1; i<argc; i++)
fprintf(out, "%s\n", argv[i]);

fclose(out);

exit(0);
}


#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>

union semun {
int val; /* Value for SETVAL */
struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
unsigned short *array; /* Array for GETALL, SETALL */
struct seminfo *__buf; /* Buffer for IPC_INFO
(Linux-specific) */
};

int main(int argc, char *argv[])
{
int fisier;
int i;
int s;
struct sembuf sem_b;



s = semget(1356, 1, 0666 | IPC_CREAT);


sem_b.sem_num = 0;
sem_b.sem_op = -1; /* P() */
sem_b.sem_flg = SEM_UNDO;
if (semop(s, &sem_b, 1) == -1)
{
fprintf(stderr, "semaphore_p failed\n");
return(1);
}


fisier = open("file.out", O_WRONLY);

if (fisier<0)
{
printf("Nu exista fisierul \n");
exit(1);
}

if (argc>1)
for (i=1; i<argc; i++)
{
write(fisier, argv[i], strlen(argv[i]));
write(fisier, "\n", 1);
}

close(fisier);


exit(0);

}
Sponsored Links
    #6  
Old 06-25-2012
spacebar's Avatar
Registered User
 
Join Date: Oct 2009
Location: spaceBAR Central
Posts: 294
Thanks: 0
Thanked 58 Times in 58 Posts
This is some info showing some examples and references:
Korn shell scripting
Bash Reference Manual
Ksh Read a File Line By Line ( UNIX Scripting )
Reading Multiple Files with Bash | Linux Journal
Sponsored Links
    #7  
Old 06-25-2012
bakunin bakunin is offline Forum Staff  
Bughunter Extraordinaire
 
Join Date: May 2005
Location: In the leftmost byte of /dev/kmem
Posts: 3,291
Thanks: 27
Thanked 450 Times in 351 Posts
Not to forget one of our classics:

12 ways to parse a file

I hope this helps.

bakunin
Sponsored Links
Closed Thread

Tags
file creation, read a file, write file

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
read and write to xml file kichu Shell Programming and Scripting 2 11-25-2010 07:54 AM
read/write,write/write lock with smbclient fails swatidas11 IP Networking 1 03-05-2010 10:26 AM
How to read from txt file and write it to xls? vasanth_123 Shell Programming and Scripting 3 08-23-2009 06:30 AM
read and write from a file rinku Shell Programming and Scripting 2 01-11-2008 12:22 AM
sed to read and write to very same file 435 Gavea Shell Programming and Scripting 5 06-29-2006 11:04 PM



All times are GMT -4. The time now is 11:42 PM.