I was working on some programs and now, no matter which one I run, I get an error like this: Unhandled exception at 0x00411be0 in program.exe: 0xC0000005: Access violation writing location 0x00130000.

Any ideas what is causing this or how I can fix it?

RenFromPenn
Deleted Member

There are specifically two of them that are giving me this problem. The error appears as a pop-up. The debug tool, however, doesn't show an error.

#include <stdio.h>
#include <string.h>
#include "string.h"
void assemble(char*input, int num, char let, float flo);

int main() 
{
	char input[255];
	int num;
	char let;
	float flo;

printf("\nPlease enter an integer:\n");
	scanf("%d", &num);
	printf("\nPlease enter a character:\n");
	scanf("%c", &let);
	printf("\nPlease enter a floating point number:\n");
	scanf("%f", &flo);

	assemble(input, num, let, flo);
	puts(input);
	return 0;
}

void assemble(char *input, int num, char let, float flo)
 {	
	sprintf(input, "%d, %c, %f", num, let, flo);	
 }
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>


int main()
{
	#define MAXCHARS 300
	void convertToUpper(char[]);
	FILE *inFile;
	char fileName[25];
	char text[MAXCHARS];

	printf("\nEnter a file name: ");
	gets(fileName);
	inFile = fopen(fileName, "r"); /*This opens the file */
	if (inFile == NULL)			   /*Checks that the file exists*/

	{
		printf("\nThe file %s was not opened successfully.", fileName);
		printf("\nPlease check that you entered the file name correctly.\n");
		exit(1);
	}
	while (fscanf(inFile, "%s", text) !=EOF) /*Reads and displays the file*/

		convertToUpper(text);
		printf("%s\n", text);
	fclose(inFile);
	return 0;
}

void convertToUpper(char text[MAXCHARS])
{
	int i;
	for(i = 0; text[i] != '0'; i++)
		text[i] = toupper(text[i]);
}

I managed to fix the first one, so now I just need help with the second program.

You do not declare, or define functions in other functions.
Macros tend to go outside publicly.
Are you actually modifying text[] in convertToUpper()?
You loop and call a function, but only call printf() once, because you're missing something.
If the file didn't open, do you have to frantically escape, and not just pass over code with an if-else condition?

This article has been dead for over six months. Start a new discussion instead.