Мусор в начале строки при записи в файл - C (СИ)
Формулировка задачи:
Генерирует все как надо, но вначале идет мусор.
Есть у кого-нибудь идеи как исправить? Буду очень благодарен.
void cycle5 (double alf, char *letters) { FILE *fp = fopen("Dictionary.txt","w"); for (int i = 0;i<alf;i++) { if (alf = 3) { char p[2]; p[0]=letters[i]; p[1]='\n'; fprintf(fp,"%s", p); printf("%s",p); for (int l = 0; l<alf; l++) { char p[3]; p[0]=letters[i]; p[1]=letters[l]; p[2]='\n'; fprintf(fp,"%s", p); printf("%s",p); for (int f = 0; f<alf;f++) { char p[4]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]='\n'; fprintf(fp,"%s", p); printf("%s",p); for (int m = 0; m<alf;m++) { char p[5]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]=letters[m]; p[4]='\n'; fprintf(fp,"%s", p); printf("%s",p); for (int n = 0;n<alf;n++) { char p[6]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]=letters[m]; p[4]=letters[n]; p[5]='\n'; fprintf(fp,"%s", p); printf("%s",p); } } } } } } fclose(fp); }
Решение задачи: «Мусор в начале строки при записи в файл»
textual
Листинг программы
void cycle5 (double alf, char *letters) { FILE *fp = fopen("Dictionary.txt","w"); for (int i = 0;i<alf;i++) { char p[2]; p[0]=letters[i]; p[1]='\0'; fprintf(fp,"%s", p); printf("%s",p); for (int l = 0; l<alf; l++) { char p[3]; p[0]=letters[i]; p[1]=letters[l]; p[2]='\0'; fprintf(fp,"%s\n", p); printf("%s\n",p); for (int f = 0; f<alf;f++) { char p[4]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]='\0'; fprintf(fp,"%s\n", p); printf("%s\n",p); for (int m = 0; m<alf;m++) { char p[5]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]=letters[m]; p[4]='\0'; fprintf(fp,"%s\n", p); printf("%s\n",p); for (int n = 0;n<alf;n++) { char p[6]; p[0]=letters[i]; p[1]=letters[l]; p[2]=letters[f]; p[3]=letters[m]; p[4]=letters[n]; p[5]='\0'; fprintf(fp,"%s\n", p); printf("%s\n",p); } } } } } fclose(fp); }
Объяснение кода листинга программы
В этом коде используется язык программирования C для записи данных в файл. Список действий, которые выполняются в коде:
- Открывается файл
Dictionary.txt
для записи данных. - Задается переменная
alf
для определения количества букв, которые будут записаны в файл. - Создается цикл, который будет выполняться
alf
раз. - Внутри цикла создается массив символов
p
размером 2, который заполняется текущей буквой. - Записывается значение массива
p
в файл и выводится на экран. - Создается вложенный цикл, который будет выполняться
alf
раз. - Внутри вложенного цикла создается массив символов
p
размером 3, который заполняется тремя текущими буквами. - Записывается значение массива
p
в файл и выводится на экран. - Создается еще один вложенный цикл, который будет выполняться
alf
раз. - Внутри этого вложенного цикла создается массив символов
p
размером 4, который заполняется четырьмя текущими буквами. - Записывается значение массива
p
в файл и выводится на экран. - Создается еще один вложенный цикл, который будет выполняться
alf
раз. - Внутри этого вложенного цикла создается массив символов
p
размером 5, который заполняется пятью текущими буквами. - Записывается значение массива
p
в файл и выводится на экран. - Создается еще один вложенный цикл, который будет выполняться
alf
раз. - Внутри этого вложенного цикла создается массив символов
p
размером 6, который заполняется шестью текущими буквами. - Записывается значение массива
p
в файл и выводится на экран. - Все циклы закрываются.
- Файл закрывается.
Похоже, что этот код генерирует все возможные комбинации букв в алфавите и записывает их в файл
Dictionary.txt
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д