That's not going to work. You can't store two things in one pointer that way. I'd use a structure with three things, the name, an array of lines, and the number of lines stored, so you don't have to do string operations all the time to find the name and don't try to constantly resize your strings.
Code:
struct {
char *name;
int *lines;
int len;
} id[1000];
int i=0;
void insertId(char* str, int nLine)
{
int x;
for(x=0; x<i; x++)
{
if(strcmp(str, id[x].name) == 0)
{
id[x].lines=realloc(id[x].lines, sizeof(int)*(id[x].len+1));
id[x].lines[id[x].len]=nLine;
id[x].len++;
return;
}
}
id[i].name=strdup(str);
id[i].lines=realloc(id[i].lines, sizeof(int));
id[i].lines[0]=nLine;
id[i].len=1;
i++;
}
id[i].lines is an array. Access the elements individually, first element at 0, last element at id[x].lines[id[x].len-1]
Maybe this question is out there, but I searched and didnt see it.
To print my files I use
more filename | lpr -Pprinter
I would like to print my scripts with line numbers.
How do I do this? (2 Replies)
I have a following containing DATA in the following format:
DATA....------
---------------
--------------
DATA.....------
--------------------
------------------
DATA....------
---------------
--------------
I want to extract the selective DATA in between identifiers and ... (4 Replies)
Hi! I'm trying to assign line numbers to each line of the file
for example consider the following..
The contents of the input file are
hello how are you?
I'm fine.
How about you?
I'm trying to get the following output..
1 hello how are you?
2 I'm fine.
3 How about you? ... (8 Replies)
Hello Everyone,
I just started scripting this week. I have no background in programming or scripting.
I'm working on a script to grep for a variable in a log file
Heres what the log file looks like. The x's are all random clutter
xxxxxxxxxxxxxxxxxxxxx START: xxxxxxxxxxxx... (7 Replies)
Hello,
I have a question on how to find the line number of the first column that contains specific data. I know how to print all the line numbers of those columns, but haven't been able to figure out how to print only the first one that is found.
For example, if my data has four columns:
115... (3 Replies)
cat fileanme.txt
custom1=, custom2=, userPulseId=3005, accountPolicyId=1, custom3=, custom4=, homeLocationId=0, i need to make the fields appear in next line based on identifier (,) ie comma
so output should read
cat fileanme.txt
custom1=,
custom2=,
userPulseId=3005,
... (8 Replies)
Florida State University, Tallahassee, FL, USA, Dr. Whalley, COP4342 Unix Tools.
This program takes much of my previous assignment but adds the functionality of printing the concatenated line numbers found within the input.
Sample input from <> operator:
Hello World
This is hello
a sample... (2 Replies)
I have some files named file1, file2, fille3......etc. These files are in a folder f1. The content of files are shown below. I would like to count the unique pairs of third column in each file. some files have no data. It should be printed as zero. Your help would be appreciated.
file1
ARG... (1 Reply)
so im searching the process table with:
ps -ef | awk -F"./rello.java" '{ print substr($0, index($0,$2)) }'
I only want it to print everything that's infront of the "./rello.java". That's because im basically getting the arguments that was passed to the rello.java script.
this works.
... (2 Replies)
My file (the output of an experiment) starts off looking like this,
_____________________________________________________________
Subjects incorporated to date: 001
Data file started on machine PKSHS260-05CP
**********************************************************************
Subject 1,... (9 Replies)
Discussion started by: samonl
9 Replies
LEARN ABOUT DEBIAN
ieee1284_data_dir
IEEE1284_DATA(3) Functions IEEE1284_DATA(3)NAME
ieee1284_read_data, ieee1284_write_data, ieee1284_data_dir, ieee1284_wait_data - control the data lines
SYNOPSIS
#include <ieee1284.h>
int ieee1284_read_data(struct parport *port);
void ieee1284_write_data(struct parport *port, unsigned char dt);
int ieee1284_data_dir(struct parport *port, int reverse);
int ieee1284_wait_data(struct parport *port, unsigned char mask, unsigned char val, struct timeval *timeout);
DESCRIPTION
These functions manipulate the data lines of the parallel port associated with port (which must have been claimed using ieee1284_claim(3)).
The lines are represented by an 8-bit number (one line per bit) and a direction. The data lines are driven as a group; they may be all
host-driven (forward direction) or not (reverse direction). When the peripheral is driving them the host must not.
For ieee1284_data_dir the reverse parameter should be zero to turn the data line drivers on and non-zero to turn them off. Some port types
may be unable to switch off the data line drivers.
Setting the data lines may have side effects on some port types (for example, some Amiga ports pulse nStrobe).
ieee1284_wait_data waits, up until the timeout, for the data bits specified in mask to have the corresponding values in val.
RETURN VALUE
ieee1284_read_data returns the 8-bit number representing the data lines unless it is not possible to return such a value with this port
type, in which case it returns an error code. Possible error codes:
E1284_NOTAVAIL
Bi-directional data lines are not available on this system.
E1284_INVALIDPORT
The port parameter is invalid (perhaps it has not been claimed, for instance).
E1284_SYS
There was an error at the operating system level, and errno has been set accordingly.
E1284_TIMEDOUT
The timeout has elapsed.
Whereas ieee1284_read_data may return E1284_NOTAVAIL on its first invocation on the port, if it does not do so then it cannot until
ieee1284_close is called for that port.
AUTHOR
Tim Waugh <twaugh@redhat.com>
Author.
COPYRIGHT
Copyright (C) 2001-2003 Tim Waugh
09/18/2007 IEEE1284_DATA(3)