В строке массива передвинуть все ASCII коды символов на один вперед - C (СИ)
Формулировка задачи:
Новичок в программировании, начал постепенно разбираться с символьными строками и ASCII кодами. В общем в строке массива хочу передвинуть все ASCII коды символов на один вперед. Может что-то напутал с указателями, может просто неправильно сделал, но программа завершается аварийно пока. Помогите с этой элементарнейшей задачей...
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
main()
{
FILE *fopen(), *in;
FILE *fopen(), *out;
char c, *s[256];
int i=0;
in = fopen( "input.txt" , "r" );
out = fopen( "output.txt" , "w" );
while (fgets(*s, 255, in) != NULL)
{
while(*s[i] != '\0')
{
char c = *s[i];
c +=1;
i++;
}
}
fprintf(out, "%s" , *s);
return 0;
}Решение задачи: «В строке массива передвинуть все ASCII коды символов на один вперед»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
main()
{
FILE *in;
FILE *out;
char c[256], s[256];
int i=0;
in=fopen("input.txt","r") ;
out=fopen( "output.txt","w");
while (fgets(s, 255, in) != NULL)
{
while(s[i] != '\0')
{
c[i] = s[i];
c[i] +=1;
i++;
}
}
fprintf(out, "%s" ,c);
close(in);
close(out);
return 0;
}
Объяснение кода листинга программы
В этом коде задача состоит в том, чтобы передвинуть все ASCII коды символов в строке массива на один вперед. Вот список действий, которые выполняются в коде:
- Подключение необходимых библиотек: stdio.h, stdlib.h, conio.h, string.h
- Объявление переменных:
- in и out - указатели на файлы для чтения и записи
- c - массив символов, в котором будут храниться ASCII коды символов после сдвига
- s - строка, в которой будет храниться исходная последовательность символов
- i - счетчик, используемый для итерации по символам строки
- Открытие файлов in и out для чтения из и записи в соответственно
- Чтение строки из файла input.txt и запись ее в переменную s
- Сдвиг ASCII кодов символов в строке s на один вперед и сохранение их в массиве c
- Запись содержимого массива c в файл output.txt
- Закрытие файлов in и out
- Завершение программы с возвратом 0, что означает успешное выполнение