473,789 Members | 2,926 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C runtime errors. desperately needing help.

57 New Member
my program compiles without problems but when i try to run it pauses shortly and then crashes. When i set it to debug it came up with the following message:

"An Access Violation (Segmentation Fault) raised in your program."

Ill put my code below. can anyone see why it is doing this?

Expand|Select|Wrap|Line Numbers
  1.  /* Program Function: Reads in data on a boolean matrix (/s) and outputs
  2.  *         whether the file has parity, is corrupt or the coordinates of the bit
  3.  *         we can change to give it parity.
  4.  *
  5.  -----------------------------------------------------------------------------*/
  6.  
  7.  
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <malloc.h>
  12.  
  13.  
  14.  
  15. /*----------------------------------------------------------------------------*/
  16.  
  17. // Sets values in place of booleans.
  18. #define TRUE 1
  19. #define FALSE 0
  20.  
  21. // Numbers of uneven rows / columns in a matrix for the properties.
  22. #define PARITY 1
  23. #define CHANGE 2
  24. #define CORRUPT 3
  25. #define INIT 0
  26. #define FILENAMEL 100
  27.  
  28.  
  29.  
  30. /*----------------------------------------------------------------------------*/
  31.  
  32.  
  33. void readMatrix(FILE *fp, int **matrixPointer, int &rows, int &columns, int &end);
  34. int **setMem(int **matrixPointer, int rows, int columns);
  35. int testRows(int **matrixPointer, int &rowLocation, int rows, int columns);
  36. int testColumns(int **matrixPointer, int &columnsLocation, int rows, int columns);
  37. void outputResults(int rowUnevens, int columnUnevens, int columnLocation, int rowLocation);
  38. void freeMem(int **matrixPointer, int rows, int columns);
  39.  
  40.  
  41. /*----------------------------------------------------------------------------*/
  42.  
  43.  
  44. int main(int argc, char **argv)
  45. {
  46.     int matrixNumber = INIT;
  47.     int rows = INIT;
  48.     int columns = INIT;
  49.     int rowLocation = INIT;
  50.     int columnLocation = INIT;
  51.  
  52.     int end = FALSE;
  53.  
  54.     FILE *fp = NULL;
  55.  
  56.     int **matrixPointer = NULL;
  57.  
  58.     do
  59.     {
  60.            matrixNumber++;
  61.  
  62.            readMatrix(fp, matrixPointer, rows, columns, end);
  63.  
  64.            if (end != TRUE)
  65.            {
  66.                 int rowUnevens = testRows(matrixPointer, rowLocation, rows, columns);
  67.                 int columnUnevens = testColumns(matrixPointer, columnLocation, rows, columns);
  68.  
  69.                 printf("%d) \n", matrixNumber);
  70.                 outputResults(rowUnevens, columnUnevens, columnLocation, rowLocation);
  71.  
  72.            }           
  73.            freeMem(matrixPointer, rows, columns);
  74.  
  75.     }while(!feof(fp));
  76.  
  77.     return 0;   
  78. }
  79.  
  80.  
  81.  
  82. /*----------------------------------------------------------------------------*/
  83.  
  84.  
  85.  
  86. void readMatrix(FILE *fp, int **matrixPointer, int &rows, int &columns, int &end)
  87. {
  88.      char fileName[FILENAMEL]; // Character array for file-name string.   
  89.      fp = fopen(fileName, "r"); // Opens file with given name in 'read-only'.
  90.  
  91.      if(!feof(fp))
  92.      {
  93.             end = FALSE;      
  94.  
  95.             /* Reads numbers from file for values of 'rows' and 'columns' on the first 
  96.                line of input. */
  97.                fscanf(fp, "%d", &rows);
  98.                fscanf(fp, "%d", &columns);
  99.  
  100.                 // Allocates the memory for the matrixPointer array.
  101.                 matrixPointer = setMem(matrixPointer, rows, columns);
  102.  
  103.                 for(int index1 = INIT; index1 < rows; index1++)// Loops through rows.
  104.                 {
  105.                      for (int index2 = INIT; index2 < columns; index2++) // Loops through columns.
  106.                      {
  107.                          /* Inputs value at that point of file and stores in appropriate
  108.                             point in the matrix array according to current index. */
  109.                         fscanf(fp, "%d", &matrixPointer[index1][index2]);
  110.                       }
  111.                 }
  112.      }
  113.      else
  114.      {
  115.          end = TRUE;
  116.      }
  117.  
  118.  return;   
  119. }
  120.  
  121.  
  122. /*----------------------------------------------------------------------------*/
  123.  
  124.  
  125.  
  126. int **setMem(int **matrixPointer, int rows, int columns)
  127. {
  128.     // Allocate memory for each row.
  129.     *matrixPointer = (int *)calloc(rows, sizeof(int *));
  130.  
  131.     // Allocate memory for each columns within each row. 
  132.     for (int index1 = INIT; index1 < rows; index1++)
  133.     {
  134.         *matrixPointer[index1] = (int)calloc(columns, sizeof(int));
  135.     }
  136.  
  137.     return matrixPointer;
  138. }
  139.  
  140.  
  141.  
  142. /*----------------------------------------------------------------------------*/
  143.  
  144.  
  145.  
  146. int testRows(int **matrixPointer, int &rowLocation, int rows, int columns)
  147. {
  148.     int counterRows = INIT;
  149.     int unevens = INIT;
  150.     int index1 = INIT;
  151.     int index2 = INIT;
  152.  
  153.     for(index1 = INIT; index1 < rows; index1++)// Loops through rows.
  154.      {
  155.           counterRows = INIT; 
  156.  
  157.           for (index2 = INIT; index2 < columns; index2++) // Loops through columns.
  158.           {
  159.               //Adds values of pointer as a counter of 1s. 
  160.               counterRows += matrixPointer[index1][index2];
  161.           }
  162.           if ((counterRows % 2) != 0)// If counter is not evenly divisible by 2.
  163.           {
  164.               unevens++;  // Number of uneven rows count increases.   
  165.               rowLocation = index2; // Coordinate of changeBit is altered.        
  166.           }        
  167.      }
  168.  
  169.     return unevens;
  170. }
  171.  
  172.  
  173. /*----------------------------------------------------------------------------*/
  174.  
  175.  
  176. int testColumns(int **matrixPointer, int &columnsLocation, int rows, int columns)
  177. {
  178.     int counterRows = INIT;
  179.     int unevens = INIT;
  180.     int index1 = INIT;
  181.     int index2 = INIT;
  182.     int columnLocation = INIT;
  183.  
  184.     for(index1 = INIT; index1 < rows; index1++)// Loops through rows.
  185.      {
  186.           counterRows = INIT; 
  187.  
  188.           for (index2 = INIT; index2 < columns; index2++) // Loops through columns.
  189.           {
  190.               //Adds values of pointer as a counter of 1s. 
  191.               counterRows += matrixPointer[index2][index1];
  192.           }
  193.           if ((counterRows % 2) != 0)// If counter is not evenly divisible by 2.
  194.           {
  195.               unevens++;  // Number of uneven rows count increases.
  196.               columnLocation = index2; // Coordinate of changeBit is altered.           
  197.           }        
  198.      }
  199.  
  200.     return unevens;
  201. }
  202.  
  203.  
  204.  
  205. /*----------------------------------------------------------------------------*/
  206.  
  207.  
  208.  
  209. void outputResults(int rowUnevens, int columnUnevens, int columnLocation, int rowLocation)
  210. {
  211.      // If there are no rows/columns with uneven numbers.
  212.      if((rowUnevens == PARITY) && (columnUnevens == PARITY))
  213.      {
  214.           printf("Matrix has parity property. \n\n");          
  215.      }        
  216.      else
  217.      {
  218.           /* If 1 row and column is uneven then it uses the coordinate for 
  219.              change-bit*/
  220.           if((rowUnevens == CHANGE) && (columnUnevens == CHANGE))
  221.           {
  222.                // Prints bit-change location to user from recorded values.
  223.                printf("Change bit (%d , %d). \n\n", rowLocation, columnLocation);       
  224.           }
  225.           else
  226.           {
  227.                printf("Matrix is corrupt. \n\n");
  228.           }
  229.      }             
  230.  
  231.      return;                 
  232. }
  233.  
  234.  
  235. /*----------------------------------------------------------------------------*/
  236.  
  237.  
  238. void freeMem(int **matrixPointer, int rows, int columns)
  239. {
  240.      for (int index1 = INIT; index1 < rows; index1++)// Loops through rows.
  241.      {
  242.          // Frees memory of each array in the matrix and sets to NULL.
  243.          free(matrixPointer[index1]);
  244.          matrixPointer[index1] = NULL; 
  245.      }
  246.      // Frees memory of the matrix.
  247.      free(matrixPointer);
  248.      matrixPointer = NULL;
  249.  
  250.      return;    
  251. }
  252.  
  253.  
  254. /*----------------------------------------------------------------------------*/
  255.  
  256.  
  257.  
Oct 6 '07 #1
8 1889
Dameon99
57 New Member
it also points to this in <stdio.h>:

"{ return __F->_flag & _IOEOF; }"

I dont understand what this means, im hoping one of you does..
Oct 6 '07 #2
RRick
463 Recognized Expert Contributor
The main cause of a seg violation is a NULL or "rogue" pointer. By rogue, I mean a pointer with random or unitialized values. You have a lot of pointers in your code and a lot of code and maybe someone will be lucky and see the problem. (I didn't see anything that was obvious).

This is where a debugger is a great help. Compile your code with the debugger option turned on and let the program run in the debugger and when it crashes, the debugger will show where the offending line of code is. Alternatively, you can put in printfs until you bracket the problem.
Oct 6 '07 #3
Dameon99
57 New Member
The main cause of a seg violation is a NULL or "rogue" pointer. By rogue, I mean a pointer with random or unitialized values. You have a lot of pointers in your code and a lot of code and maybe someone will be lucky and see the problem. (I didn't see anything that was obvious).

This is where a debugger is a great help. Compile your code with the debugger option turned on and let the program run in the debugger and when it crashes, the debugger will show where the offending line of code is. Alternatively, you can put in printfs until you bracket the problem.
I am running a debugger but it int stopping at anything just coming up with an error.. I suppose I ould put printf s everywhere and try it that way but it is very time consuming.
Can you tell me more about why NULL would cause a segmentation violation? we were told to use it.
Oct 6 '07 #4
Dameon99
57 New Member
btw i think my compiler is compiling my code as C++. That may help some?
Oct 6 '07 #5
RRick
463 Recognized Expert Contributor
I did notice one thing, your readMatrix is in need of a few revisions. First, the fileName variable is never set to a value. Fopen on a random string is not a good idea.

You pass in a pointer value for fp, but you're not going to get a changed pointer value back. Any use of fp in main, will be with the initialized value of NULL. You need to pass in FILE *& or FILE ** for readMatrix to change the value.

You need to check for a valid file pointer before calling feof because feof expects a valid file pointer. Usually, after fopen, you check for a valid file pointer simply by:
Expand|Select|Wrap|Line Numbers
  1. if ( !fp) printf( "Can't open file .......
Oct 6 '07 #6
Dameon99
57 New Member
the program doesnt even prompt the user for the file name though.. Ill give it a try and c what I can do. Thanks heaps.
Oct 6 '07 #7
Dameon99
57 New Member
Im getting these errors now on compile. It compiles with no problems in C++ but needs to be in C.. I honestly cant see anything wrong in any of these and is everything I have been taught in C.

43 syntax error before '&' token
45 syntax error before '&' token
46 syntax error before '&' token
96 syntax error before '&' token
In function `readMatrix':
99 `fp' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
103 `end' undeclared (first use in this function)
107 `rows' undeclared (first use in this function)
108 `columns' undeclared (first use in this function)
111 `matrixPointer' undeclared (first use in this function)
113 'for' loop initial declaration used outside C99 mode
115 'for' loop initial declaration used outside C99 mode
In function `setMem':
142 c 'for' loop initial declaration used outside C99 mode
At top level:
156 syntax error before '&' token
In function `testRows':
163 `rows' undeclared (first use in this function)
167 `columns' undeclared (first use in this function)
170 `matrixPointer' undeclared (first use in this function)
175 `rowLocation' undeclared (first use in this function)
At top level:
186 syntax error before '&' token
In function `testColumns':
194 `rows' undeclared (first use in this function)
198 `columns' undeclared (first use in this function)
201 `matrixPointer' undeclared (first use in this function)
In function `freeMem':
250 'for' loop initial declaration used outside C99 mode


I really cant work out any of them.. Im only just getting these errors now.. :'-(. very frustrating.

heres my code:

Expand|Select|Wrap|Line Numbers
  1. /* Program Function: Reads in data on a boolean matrix (/s) and outputs
  2.  *         whether the file has parity, is corrupt or the coordinates of the bit
  3.  *         we can change to give it parity.
  4.  *
  5.  -----------------------------------------------------------------------------*/
  6.  
  7.  
  8.  
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <malloc.h>
  12.  
  13.  
  14.  
  15. /*----------------------------------------------------------------------------*/
  16.  
  17. // Sets values in place of booleans.
  18. #define TRUE 1
  19. #define FALSE 0
  20.  
  21. // Numbers of uneven rows / columns in a matrix for the properties.
  22. #define PARITY 1
  23. #define CHANGE 2
  24. #define CORRUPT 3
  25. #define INIT 0
  26. #define FILENAMEL 100
  27.  
  28.  
  29.  
  30. /*----------------------------------------------------------------------------*/
  31.  
  32.  
  33. FILE *readMatrix(FILE *fp, int **matrixPointer, int &rows, int &columns, int &end);
  34. int **setMem(int **matrixPointer, int rows, int columns);
  35. int testRows(int **matrixPointer, int &rowLocation, int rows, int columns);
  36. int testColumns(int **matrixPointer, int &columnsLocation, int rows, int columns);
  37. void outputResults(int rowUnevens, int columnUnevens, int columnLocation, int rowLocation);
  38. void freeMem(int **matrixPointer, int rows, int columns);
  39.  
  40.  
  41. /*----------------------------------------------------------------------------*/
  42.  
  43.  
  44. int main(int argc, char **argv)
  45. {
  46.     int matrixNumber = INIT;
  47.     int rows = INIT;
  48.     int columns = INIT;
  49.     int rowLocation = INIT;
  50.     int columnLocation = INIT;
  51.  
  52.     int end = FALSE;
  53.  
  54.     FILE *fp = NULL;
  55.  
  56.     int **matrixPointer = NULL;
  57.  
  58.     do
  59.     {
  60.            matrixNumber++;
  61.  
  62.            readMatrix(fp, matrixPointer, rows, columns, end);
  63.  
  64.            if (end != TRUE)
  65.            {
  66.                 int rowUnevens = testRows(matrixPointer, rowLocation, rows, columns);
  67.                 int columnUnevens = testColumns(matrixPointer, columnLocation, rows, columns);
  68.  
  69.                 printf("%d) \n", matrixNumber);
  70.                 outputResults(rowUnevens, columnUnevens, columnLocation, rowLocation);
  71.  
  72.            }           
  73.            freeMem(matrixPointer, rows, columns);
  74.  
  75.     }while(!feof(fp));
  76.  
  77.     return 0;   
  78. }
  79.  
  80.  
  81.  
  82. /*----------------------------------------------------------------------------*/
  83.  
  84.  
  85.  
  86. FILE *readMatrix(FILE *fp, int **matrixPointer, int &rows, int &columns, int &end)
  87. {
  88.      char fileName[FILENAMEL]; // Character array for file-name string.   
  89.      fp = fopen(fileName, "r"); // Opens file with given name in 'read-only'.
  90.  
  91.      if(!feof(fp))
  92.      {
  93.             end = FALSE;      
  94.  
  95.             /* Reads numbers from file for values of 'rows' and 'columns' on the first 
  96.                line of input. */
  97.                fscanf(fp, "%d", &rows);
  98.                fscanf(fp, "%d", &columns);
  99.  
  100.                 // Allocates the memory for the matrixPointer array.
  101.                 matrixPointer = setMem(matrixPointer, rows, columns);
  102.  
  103.                 for(int index1 = INIT; index1 < rows; index1++)// Loops through rows.
  104.                 {
  105.                      for (int index2 = INIT; index2 < columns; index2++) // Loops through columns.
  106.                      {
  107.                          /* Inputs value at that point of file and stores in appropriate
  108.                             point in the matrix array according to current index. */
  109.                         fscanf(fp, "%d", &matrixPointer[index1][index2]);
  110.                       }
  111.                 }
  112.      }
  113.      else
  114.      {
  115.          end = TRUE;
  116.      }
  117.  
  118.  return fp;   
  119. }
  120.  
  121.  
  122. /*----------------------------------------------------------------------------*/
  123.  
  124.  
  125.  
  126. int **setMem(int **matrixPointer, int rows, int columns)
  127. {
  128.     // Allocate memory for each row.
  129.     *matrixPointer = (int *)calloc(rows, sizeof(int *));
  130.  
  131.     // Allocate memory for each columns within each row. 
  132.     for (int index1 = INIT; index1 < rows; index1++)
  133.     {
  134.         *matrixPointer[index1] = (int)calloc(columns, sizeof(int));
  135.     }
  136.  
  137.     return matrixPointer;
  138. }
  139.  
  140.  
  141.  
  142. /*----------------------------------------------------------------------------*/
  143.  
  144.  
  145.  
  146. int testRows(int **matrixPointer, int &rowLocation, int rows, int columns)
  147. {
  148.     int counterRows = INIT;
  149.     int unevens = INIT;
  150.     int index1 = INIT;
  151.     int index2 = INIT;
  152.  
  153.     for(index1 = INIT; index1 < rows; index1++)// Loops through rows.
  154.      {
  155.           counterRows = INIT; 
  156.  
  157.           for (index2 = INIT; index2 < columns; index2++) // Loops through columns.
  158.           {
  159.               //Adds values of pointer as a counter of 1s. 
  160.               counterRows += matrixPointer[index1][index2];
  161.           }
  162.           if ((counterRows % 2) != 0)// If counter is not evenly divisible by 2.
  163.           {
  164.               unevens++;  // Number of uneven rows count increases.   
  165.               rowLocation = index2; // Coordinate of changeBit is altered.        
  166.           }        
  167.      }
  168.  
  169.     return unevens;
  170. }
  171.  
  172.  
  173. /*----------------------------------------------------------------------------*/
  174.  
  175.  
  176. int testColumns(int **matrixPointer, int &columnsLocation, int rows, int columns)
  177. {
  178.     int counterRows = INIT;
  179.     int unevens = INIT;
  180.     int index1 = INIT;
  181.     int index2 = INIT;
  182.     int columnLocation = INIT;
  183.  
  184.     for(index1 = INIT; index1 < rows; index1++)// Loops through rows.
  185.      {
  186.           counterRows = INIT; 
  187.  
  188.           for (index2 = INIT; index2 < columns; index2++) // Loops through columns.
  189.           {
  190.               //Adds values of pointer as a counter of 1s. 
  191.               counterRows += matrixPointer[index2][index1];
  192.           }
  193.           if ((counterRows % 2) != 0)// If counter is not evenly divisible by 2.
  194.           {
  195.               unevens++;  // Number of uneven rows count increases.
  196.               columnLocation = index2; // Coordinate of changeBit is altered.           
  197.           }        
  198.      }
  199.  
  200.     return unevens;
  201. }
  202.  
  203.  
  204.  
  205. /*----------------------------------------------------------------------------*/
  206.  
  207.  
  208.  
  209. void outputResults(int rowUnevens, int columnUnevens, int columnLocation, int rowLocation)
  210. {
  211.      // If there are no rows/columns with uneven numbers.
  212.      if((rowUnevens == PARITY) && (columnUnevens == PARITY))
  213.      {
  214.           printf("Matrix has parity property. \n\n");          
  215.      }        
  216.      else
  217.      {
  218.           /* If 1 row and column is uneven then it uses the coordinate for 
  219.              change-bit*/
  220.           if((rowUnevens == CHANGE) && (columnUnevens == CHANGE))
  221.           {
  222.                // Prints bit-change location to user from recorded values.
  223.                printf("Change bit (%d , %d). \n\n", rowLocation, columnLocation);       
  224.           }
  225.           else
  226.           {
  227.                printf("Matrix is corrupt. \n\n");
  228.           }
  229.      }             
  230.  
  231.      return;                 
  232. }
  233.  
  234.  
  235. /*----------------------------------------------------------------------------*/
  236.  
  237.  
  238. void freeMem(int **matrixPointer, int rows, int columns)
  239. {
  240.      for (int index1 = INIT; index1 < rows; index1++)// Loops through rows.
  241.      {
  242.          // Frees memory of each array in the matrix and sets to NULL.
  243.          free(matrixPointer[index1]);
  244.          matrixPointer[index1] = NULL; 
  245.      }
  246.      // Frees memory of the matrix.
  247.      free(matrixPointer);
  248.      matrixPointer = NULL;
  249.  
  250.      return;    
  251. }
  252.  
  253.  
  254. /*----------------------------------------------------------------------------*/
  255.  
  256.  
  257.  
Oct 6 '07 #8
Dameon99
57 New Member
dw, i have managed to fix all of these errors. Thankyou to all of you who assisted me with this.
Oct 7 '07 #9

Sign in to post your reply or Sign up for a free account.

Similar topics

2
7656
by: John Smith | last post by:
A friend's small business has gotten themselves in trouble. Their only programmer has recently skipped the country and did not leave the source code or any design notes for a couple of program modules. It appears that he did all the work for those few modules on his own laptop and never integrated them into Visual Source Safe. What tools, if any, exist in the VB world to disassemble / reverse engineer these modules?
2
1622
by: JDevine | last post by:
Hey. I posted a info about a program I have written that uses google to get and download files by type and site. I need HELP!!! This program is finished except for 2 features which, having tried for two weeks to create I cannot. This is my first program EVER. I simply an stuck. Please help. I was allowed by my employer to experiment with programing / open source. I'd like to be able to deliver a complete program, (so I can possibly...
4
6404
by: Morgan Leppink | last post by:
Hey all - We are running SQL 2000 with ALL available service packs, etc. applied. We just built a brand new database server, which has dual 2Ghz XEONs, 2GB memory, and the following disk configuration: RAID 1 array (2 disks) Operating System Windows Server 2003 RAID 1 array (2 disks) Database Logs RAID 10 array (4 disks) Database Data
2
2515
by: Trevor Hughes | last post by:
Hello All Our organisation has recently upgraded its operating system to Windows 2000. Prior to this I was running Access 2000 databases on NT machines using the Access 2000 Runtime with no problems. Since the upgrade I am experiencing runtime errors which are making parts of the database unusable. The database will crash when I run a report. One of the problems relates to formating problems surrounding reference libraries. I have...
8
477
by: frank | last post by:
Below is some code for doing and insert into one of my tables. The inserts do not work because a duplicate key exists, which I want to happen. The problem is, I cannot get access to return an error for this condition. What can I do to get access to return an error on my query? Thanks
3
10630
by: Sampson | last post by:
I have a question about enumeration and how to populate them during runtime. I am using vb.net but will happily take any advice in c# as well. Here is an example to help illustrate what I am after. Create a class named “clsMyItems” and in that class place an enum. Public Enum Items Item1 = 0 Item2 = 1 Item3 = 2
1
1507
by: NutsAboutVB | last post by:
Hello, I am a VB.NET programmer and I have a JPEG image file (from digital camera) of about 109 KB's in size, when I open it and save it (without making any alterations at all, just going to File --> Save) in MS Photo Editor, the file is automatically shrunk in size to 81 KB's. When doing the same thing in MS Paint, the file is shrunk to 54 KB's. The file has the same number of pixels after both saves (as expected). My question...
4
1291
by: kaosyeti | last post by:
hey... i know NOTHING about sql server, .net framework or probably anything else on sql monster. i am a novice access user, self-taught for about 9 months now and have only a basic understanding of vba. that being said, i need some help...8) i have a web site that i used to routinely visit for my job that performs calculations for monthly car payments based on about 20 user-entered fields. the problem is that about 3 months ago, it...
8
13104
by: g_man | last post by:
I am trying trap Runtime error 3022 (duplicates) in the click event of a command button that closes the form. I have code in the Form_Error event that does a good job of providing a more meaningful error message than the default. It works in every situation except when the user clicks the close button. I am using Me.Dirty=False to force a save but if there are duplicates I just get the standard Runtime 3022 error message. I am wondering...
8
1923
by: SMcK | last post by:
I posted on this subject back a couple weeks ago and learned enough to know how much I don't know. I'm thinking I need to simplify and ask fewer questions. I've been creating Access databases on an occasional basis for about 12 years. I'm able to do most of what I need to do -- tables, forms, queries, linking tables, creating subforms... I've had no experience with creating runtime Access databases. I need to do that now. I'm...
0
9666
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9511
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10410
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10200
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10139
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9984
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9020
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
2
3701
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2909
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.