Я читаю содержимое из файла, который нужно прочитать в массиве символов в C. Как я могу изменить все буквы в файле с строчными буквами в верхнем регистре?Шестнадцатеричные символы для символов верхнего регистра в C и записи в файл
ответ
Вот возможный алгоритм:
- Открыть файл (назовем его А) - Еореп()
- Открыть другой файл для записи (назовем его B) - Еореп()
- Читать содержимое A - getc() или fread(); что вы считаете
- Сделать содержание вы читаете в верхнем регистре - TOUPPER()
- Написать результат 4 шага к B - FWRITE() или fputc() или fprintf()
- Закрыть все дескрипторы файлов - fclose()
Ниже приведен код, написанный на C:
#include <stdio.h>
#include <ctype.h>
#define INPUT_FILE "input.txt"
#define OUTPUT_FILE "output.txt"
int main()
{
// 1. Open a file
FILE *inputFile = fopen(INPUT_FILE, "rt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", INPUT_FILE);
return -1;
}
// 2. Open another file
FILE *outputFile = fopen(OUTPUT_FILE, "wt");
if (NULL == inputFile) {
printf("ERROR: cannot open the file: %s\n", OUTPUT_FILE);
return -1;
}
// 3. Read the content of the input file
int c;
while (EOF != (c = fgetc(inputFile))) {
// 4 & 5. Capitalize and write it to the output file
fputc(toupper(c), outputFile);
}
// 6. Close all file handles
fclose(inputFile);
fclose(outputFile);
return 0;
}
Хороший ответ и хорошее использование 'int c', а не' char c'. Однако ОП не продемонстрировал большой работы, чтобы заслужить этот прекрасный ответ. – chux
Спасибо за ваш комментарий! –
Большое спасибо! Это сработало, и я смог организовать его довольно хорошо, я это ценю. – LeslieKnowsBest
'' ctype.h' имеет toupper'. –
Где у вас есть до сих пор? что вы достигли? Например, можно ли дублировать содержимое файла? –
Я уже мог учесть буквы и писать в отдельные файлы, но я не знал, как перезаписать документ. – LeslieKnowsBest