Name: Anonymous 2013-10-30 13:11
#include<stdio.h>
#include <string.h>
int main()
{
/*The output file*/
FILE *fo;
/*The input file*/
FILE *fi;
/*The current character we are on*/
char c[2];
c[1]=0;
/*The array to build the word we are on*/
char *s=malloc(900000);
/* Opens the file for reading */
fi=fopen("d.txt","r");
c[0]=getc(fi);
/* While loop responsible for reading current character,
creating the string of directories linked to that character
, and placing the word at the end*/
while(c[0]!=EOF)
{
strcat(s,"lib\\");
/*While loop that checks the current char for a space or a newline*/
while((c[0]!=' '&&c[0]!='\n'))
{
strcat(s,c);
strcat(s,"\\");
c[0]=getc(fi);
}
printf(s);
/*Makes the directory following the string of characters (IE: Character would be c\h\a\r\a\c\t\e\r)*/
mkdir(s);
s=malloc(9000);
c[0]=getc(fi);
}
return 0;
}
The new problem that I am encountering is most likely due to my allocation of memory, as when I get to the printf statement that prints out the composed string, I get lib\a\a\r\d\v\a\r\k\% where the % sign represents any ascii character, selected at random(probably due to some data that was at the ending of the string). How do I fix this problem?