Хорошо, пока это мой код
int main()
{
char buffer[10];
int arraySize = -1;
FILE *fp;
int i;
char filename[10];
int userNo = 1;
char stockArray[18][15];
sprintf(filename, "file%d", userNo);
fp = fopen(filename, "r");
while(fgets(buffer, 30, fp) != NULL)
{
if(buffer[0] == '<' && buffer[1] == 's')
{
arraySize++;
}
else if(buffer[0] == '<' && buffer[1] == '/'){printf("< char\n");}
else
{
int t = 0;
int r = 0;
while(buffer[t] != '>')
{
t++;
}
t++;
char holder[15] = {'\0'};
while(buffer[t] != '<')
{
holder[r] = buffer[t];
t++;
r++;
}
strncpy(stockArray[arraySize], holder, r);
printf("%s\n", stockArray[arraySize]);
}
}
fclose(fp);
}
У меня две странные проблемы.Сначала, когда я выполняю оператор printf, он печатает правильные данные очень хорошо, затем делает следующее: если первое слово - «банан», а следующее - «123», он печатает «123ana», а затем набор странных символов, которыезаканчивается, я не шучу, смайликом.
Затем, после того, как программа закончена и завершена, я получаю «Ошибка проверки времени выполнения # 2 - стек вокруг переменной« имя файла »поврежден."ошибка.
Я использую VS2010 и C ++, и весь мой опыт до сих пор был с GCC и C, где я никогда раньше не сталкивался с этими проблемами.Любой совет будет оценен