Sponsored Content
Top Forums Programming search file and put into struct Post 302580415 by Corona688 on Thursday 8th of December 2011 11:19:48 AM
Old 12-08-2011
You'll never find the "right answer", since other people probably don't have the same problem as you word-for-word, letter-for-letter, keystroke-for-keystroke.

Try breaking it down into steps instead. You'll get more done, and in doing so, probably figure out where to go next.

1) read it line by line. fgets() does that.
2) Check for BC109 at the beginning of the line. strncmp can do that.
2) break it into tokens. Lots and lots of ways to do that.
3) Put it into the structure. One sscanf would do it in a quick-and-dirty fashion. A safer way would be splitting into tokens and copying or scanning individually.

So:

Code:
char buf[4096];
struct Transistor trans;

while(fgets(buf, 4096, stdin))
{
        int len=strlen("BC109");
        if(strncmp("BC109", buf, len) != 0) continue;
        // "BC109 ", not "BC109A"
        if(!isspace(buf[len])) continue;

        if(sscanf(buf, "%s %s %f %d", trans.chType, trans.chFabrikant, &trans.fPrijs, &trans.behuizing) != 4)
        {
                 fprintf(stderr, "couldn't scan line %s\n", buf);
                 exit(1);
        }

        fprintf(stderr, "Found BC109\n");
        break;
}

This User Gave Thanks to Corona688 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Script to search a bad record in a file then put the record in the bad file

I need to write a script that can find a bad record (for example: there is date field colom but value provided in the file for this field is N/A) then script shoud searches this pattern and then insert the whole record into the bad file. Example: File1 Name designation dateOfJoining... (1 Reply)
Discussion started by: shilendrajadon
1 Replies

2. Shell Programming and Scripting

Script to search a bad record in a file then put the record in the bad file

I need to write a script that can find a bad record (for example: there is date field colom but value provided in the file for this field is N/A) then script shoud searches this pattern and then insert the whole record into the bad file. Example: File1 Name designation dateOfJoining... (2 Replies)
Discussion started by: shilendrajadon
2 Replies

3. Programming

writing binary/struct data to file

I am trying to write binary data to a file. My program below: #include <stdlib.h> #include <stdio.h> struct tinner { int j; int k; }; struct touter { int i; struct tinner *inner; }; int main() { struct touter data; data.i = 10; struct tinner... (4 Replies)
Discussion started by: radiatejava
4 Replies

4. Shell Programming and Scripting

search a word in a xml file and print the out put

hi , i m having a html file and this file looks like this <ssl> <name>PIA</name> <enabled>true</enabled> <listen-port>39370</listen-port> </ssl> <log> <name>PIA</name> </log> <execute-queue> <name>weblogic.kernel.Default</name> ... (7 Replies)
Discussion started by: becksram123
7 Replies

5. Shell Programming and Scripting

awk pattern search and put in a file

hi I am doing a task that is i have to search for multiple pattern from a file's 9 th column and then redirect it to a new file awk -F, 'BEGIN {OSF=","} { if ($9 == "OTF") print $0}' test1.tsv > test.tsv and the patterns are OST. ODI,MIN LIKE OTF Bit not getting the desired output... (11 Replies)
Discussion started by: pranabrana
11 Replies

6. UNIX for Dummies Questions & Answers

How to access a struct within a struct?

Can someone tell me how to do this? Just a thought that entered my mind when learning about structs. First thought was: struct one { struct two; } struct two { three; } one->two->three would this be how you would access "three"? (1 Reply)
Discussion started by: unbelievable21
1 Replies

7. Shell Programming and Scripting

How to search for multiple lines and put them into one paragraph?

Dear all, I'm trying to manipulate a data file and putting a certain lines into one paragraph. What am I actually want to do is that search some lines in a data file. These lines begin with "1\1\GINC-" and end with "\\@" or the following two empty lines as shown in blue. A part of the text... (11 Replies)
Discussion started by: liuzhencc
11 Replies

8. Programming

Can't assign struct variable in header file

Hi guys. I have a header file including a structure like this: typedef struct { int index = -1; stack_node *head; } stack; But when compiling with cc it shows error at the assignment line (int index = -1): error: expected ‘:', ‘,', ‘;', ‘}' or ‘__attribute__' before ‘=' token... (1 Reply)
Discussion started by: majid.merkava
1 Replies

9. Programming

Storing C++-struct in file - problem when adding new item in struct

Hi, I have received an application that stores some properties in a file. The existing struct looks like this: struct TData { UINT uSizeIncludingStrings; // copy of Telnet data struct UINT uSize; // basic properties: TCHAR szHost; //defined in Sshconfig UINT iPortNr; TCHAR... (2 Replies)
Discussion started by: Powerponken
2 Replies

10. Programming

Python Results Converted To C Struct Header File

I created python code that produce output in the form of: moses-red-sea=1.00.03 genesis-snake=2.03 deliverance=5.0.010 I need to take this output and create a "C" header file and have it look like this: struct { char *name; char *fixed_version; } filename_versions... (7 Replies)
Discussion started by: metallica1973
7 Replies
SDL_ConvertAudio(3)						 SDL API Reference					       SDL_ConvertAudio(3)

NAME
SDL_ConvertAudio - Convert audio data to a desired audio format. SYNOPSIS
#include "SDL.h" int SDL_ConvertAudio(SDL_AudioCVT *cvt); DESCRIPTION
SDL_ConvertAudio takes one parameter, cvt, which was previously initilized. Initilizing a SDL_AudioCVT is a two step process. First of all, the structure must be passed to SDL_BuildAudioCVT along with source and destination format parameters. Secondly, the cvt->buf and cvt->len fields must be setup. cvt->buf should point to the audio data and cvt->len should be set to the length of the audio data in bytes. Remem- ber, the length of the buffer pointed to by buf show be len*len_mult bytes in length. Once the SDL_AudioCVTstructure is initilized then we can pass it to SDL_ConvertAudio, which will convert the audio data pointer to by cvt->buf. If SDL_ConvertAudio returned 0 then the conversion was completed successfully, otherwise -1 is returned. If the conversion completed successfully then the converted audio data can be read from cvt->buf. The amount of valid, converted, audio data in the buffer is equal to cvt->len*cvt->len_ratio. EXAMPLES
/* Converting some WAV data to hardware format */ void my_audio_callback(void *userdata, Uint8 *stream, int len); SDL_AudioSpec *desired, *obtained; SDL_AudioSpec wav_spec; SDL_AudioCVT wav_cvt; Uint32 wav_len; Uint8 *wav_buf; int ret; /* Allocated audio specs */ desired=(SDL_AudioSpec *)malloc(sizeof(SDL_AudioSpec)); obtained=(SDL_AudioSpec *)malloc(sizeof(SDL_AudioSpec)); /* Set desired format */ desired->freq=22050; desired->format=AUDIO_S16LSB; desired->samples=8192; desired->callback=my_audio_callback; desired->userdata=NULL; /* Open the audio device */ if ( SDL_OpenAudio(desired, obtained) < 0 ){ fprintf(stderr, "Couldn't open audio: %s ", SDL_GetError()); exit(-1); } free(desired); /* Load the test.wav */ if( SDL_LoadWAV("test.wav", &wav_spec, &wav_buf, &wav_len) == NULL ){ fprintf(stderr, "Could not open test.wav: %s ", SDL_GetError()); SDL_CloseAudio(); free(obtained); exit(-1); } /* Build AudioCVT */ ret = SDL_BuildAudioCVT(&wav_cvt, wav_spec.format, wav_spec.channels, wav_spec.freq, obtained->format, obtained->channels, obtained->freq); /* Check that the convert was built */ if(ret==-1){ fprintf(stderr, "Couldn't build converter! "); SDL_CloseAudio(); free(obtained); SDL_FreeWAV(wav_buf); } /* Setup for conversion */ wav_cvt.buf=(Uint8 *)malloc(wav_len*wav_cvt.len_mult); wav_cvt.len=wav_len; memcpy(wav_cvt.buf, wav_buf, wav_len); /* We can delete to original WAV data now */ SDL_FreeWAV(wav_buf); /* And now we're ready to convert */ SDL_ConvertAudio(&wav_cvt); /* do whatever */ . . . . SEE ALSO
SDL_BuildAudioCVT, SDL_AudioCVT SDL
Tue 11 Sep 2001, 22:58 SDL_ConvertAudio(3)
All times are GMT -4. The time now is 03:48 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy