Привет, я создаю приложение, которое будет проверять, все ли числа в файле зафиксированы, а если нет - исправить их (в зависимости от кодов конкретной страны).Чтобы проверить, является ли номер хорошим, мне сначала нужно взглянуть на код страны, и для этого мне нужно прочитать первые 3 символа (с номера телефона в файле), чтобы узнать, есть ли у номера даже код страны.Когда я запускаю приведенный ниже код, я получаю
Стек вокруг переменной 'country_code' был поврежден ".
Я думаю, что мое чтение конкретного 3 символа изСтрока создает проблему, но я не могу найти, что именно делает.
void fix_file_il_country(char *filename)
{
FILE *f = fopen("1.txt", "r"); //The file to check from
if (f == NULL)
{
printf("EROR\n");
return;
}
FILE *fp = fopen(filename, "w"); //The new file with fixed numbers
if (f == NULL)
{
printf("EROR\n");
return;
}
char num[20];
char country_code[3];
fscanf(f, "%3s %s", &country_code, &num);
while (!feof(f))
{
if (strlen(num) == 12)
if (country_code == "972")
fprintf(fp, "%s\n", num);
fscanf(f, "%3s %s", &country_code, &num);
}
fclose(f);
fclose(fp);
}
Числа, такие как: 9725XXXXXXXX должны быть записаны в новый файл. Номера, такие как: 123XXXXXXXXX, или число с более \ lessсимволы не 12 не должны быть написаны.