I'm trying to create a structure for a buffer that I can use in 2 different code modules. I've defined the structure in the main.h file
typedef struct
{
uint8_t frame[MRFI_MAX_FRAME_SIZE];
uint8_t rxMetrics[MRFI_RX_METRICS_SIZE];
} receiveBuffer_t; //SS; packetBuffer length is 24 Bytes, 20 for data packet, 1 for length, for rxMetrics, 1 for TxCount
Then set it up in main.c
static receiveBuffer_t XDATA receive_buf[8]; //SS; Store up to 16 received packets for debug
This works great in main but I want to also use this structure in another module. In other.c I've included main.h and am trying to use it as follows
I find myself in a position where I am repeating the same pattern of, write shared lib, compile, link shared lib, write app lib "sandbox" dependent on shared lib, write shared lib, compile, link, write...
At each level of dependency I have to carry over previously shared libs, search directories, etc. How to automate this process, so I spend less time linking after each layer?
I'm trying to use a structure in union in the following format:
Code: union data { unsigned char All[10] ; struct data_pkt { unsigned char ack; unsigned short status; unsigned short data_length; unsigned char Data[5]; }format; }adb; adb.
All has 10 bytes which is equivalent to the structure bytes. ie 6 bytes if unsigned char and 2 short i.e 4 bytes. Thus total 10 bytes is given to adb.All. When I print the struct size I get 12 bytes. This creates problem in obtaining data in union. According to the program:
adb.format.ack should have the address of adb.All[0] adb.format.status should have the address of adb.All[1] adb.format.data_length should have the address of adb.All[3] adb.format.Data[0] should have the address of adb.All[5]
But in actual case this is how memory is allocated:
adb.format.ack assigned to the address of adb.All[0] adb.format.status assigned to the address of adb.All[2] adb.format.data_length assigned to the address of adb.All[4] adb.format.Data[0] assigned to the address of adb.All[6]
i'd like to ask if it's possible to fill every array in structure to zero. (Without using too much cycles)Something like this (I know that it doesn't work):
I made a txt file which contains a necessary information into my project file and tried to read and print it. However, seems like my program is not reading my file at allI named my file as student
I'm trying to write a simple program that extract the FAT information from a FAT32 virtual Hard Disk.I have the following structures regarding the FAT format:
Code:
//BOOT RECORD typedef struct NF_BOOT_RECORD { unsigned char BS_jumpBoot[3]; //EB 58 90 = JUMP 58 NOP (Jumps to boot code). Also E9 is acceptable. unsigned char BS_OEMName[8]; //Either MSWIN4.1 or mkdosfs unsigned short BS_BytesPerSec; //Little endian. The size of a sector. 128,256,512,1024... unsigned char BS_SecPerClus; //The number of sectors per cluster (1 CLUSTER = BPS*SPC BYTES) unsigned short BS_RsvdSecCnt; //The boot sectors (this) are included. That makes at least 1. }
[code]...
Everything seems to work fine. Mostly. The only problem, is that the program gives me the following output:BS_NumFATs shouldn't be 0. In fact, I've checked inside the structure memory, and the information seems correct. BS_NumFATs is 0x02, not 0x00 (It's the byte at offset 0x10, starting at 0x00).
I've checked the order of the structure fields, and their types, comparing them to the FAT specification given by Microsoft (File fatgen103.pdf), and it seems fine, unless I'm missing something. So I don't know why it gives 0 instead of 2, if I'm missing something.It's a Win32 program compiled with GCC version 4.4.0
Ok, so this assignment is to create a structure that allows input for up to 6 employees that then makes a 6 structure array showing Employee ID, Employee Last Name, Employee Pay Rate, Employee Hours Worked, Employee Pay, and Total Gross Pay for All Employees.
I don't have a printf yet for total gross, but right now I am just trying to tackle the input. Obviously I am not doing it right because although gcc complier is not giving errors the program is not ending when I type 'q' (sentinel issue) or when I reach 6 employees. It just continues input forever. Here is my code so far:
Code: //Cameron Taylor #include <stdio.h> #define MAXARRAY 6 struct Record{ int idnum; char lname[20]; double pay_rate;
I want to get the starting index of structure elements, whoz id are 0,1,2,3 Like in below code col_data[0] (starting id=0) col_data[3] (starting id=1) col_data[5] (starting id=2) col_data[8] (starting id=3) Code:
Code:
typedef struct gg{ int id; int value; }
[code]....
How can i skip remaining loop iterations when it get that index and will go back to loop again for getting next element index?
I've used qsort to extract the unique student IDs by jumping every four because there's 80 rows of data and twenty students.
I want to make sure it's all working and there's something very strange going on. If you look at my code, when it comes to initialising the structure with the unique student IDs it will happily print them after each one has been initialised inside the for loop (which suggests to me it's obviously done it) but, however, when I want to print them again outside the for loop in another for loop as a "double-check" it goes horribly wrong, presumably they're not in there at all? If you traverse the code to the bottom you'll see my comments.
Now in my for loop, j is going to be incremented 20 times which will correspond to the #define STUDENTS 20. So imagine the array of structure db[j] , the first loop will set i and j both to zero, retrieve the first unique ID and store it in the structure. Then i is incremented by four to acces the next unique ID and then j is incremented by 1 to insert this new ID in the structure.
After i set the value in the first structure owners name, i set the cats name equal to it. but when i change the value in the first structure it doesn't change the value in the second structure.
So i need the dogs owners name to be equal to the cats owners name
So if i change the value of the dogs owner it also changes the value of the cats owner.
i need to print the names as they appear in the original file, print the info of the person with the highest distance, print the info sorted by ascending ID number, and print sorted by name alphabetically. the first two parts work fine but sorting by ID and Name dont work.
Is there way to find the size of structure pointer size? When we tried to get the size of structure pointer will get size of address(@ location) which would be 4 bytes long. But I want to get the size of all structure members size using structure pointer.
I have started working with structures so here's a side project from my text book. It's purpose is fairly simple; it asks for the sales of each quarter of the year from 4 different divisions and then calculates the average quarterly sales and total annual sales and finally displays all the data. My problem is that in the function "displayCompanyInfo" the statement
std::cout << "Division " << R.division_name << std::endl; does not display the name of the division. With that in mind here is the code: #include <iostream> #include <string> struct CompanyInfo {
[Code]....
As you can see the last part of the output has statements that say "Division" however they do not say the name of the division afterwards. I don't understand why that is?