Я пытаюсь написать программу, откроет обычный файл типа (двоичный или текстовый/ASCII, прочитает каждый байт в файле и напишет как шестнадцатеричное значение ASCII для этого байта, так и его печатный (удобочитаемый) символ (.. символы, цифры, символы) на стандартный вывод теперь я просто пытаюсь, чтобы позволить пользователю выбрать файлКак читать обычный текстовый файл?
#include <stdio.h>
#include<stdlib.h>
FILE *file;
int main(int argc, char *argv[ ]){
int a;
int modified = 1;//1 means unmodified, 0 means modified
if(argc > 2){//writes to std error output
return 25;
}
if(argc == 2){// if there is 1 argument open it and read it
file = fopen(argv[1], "rt");
if(file == NULL){//cant open file. return error code 15
fprintf(stderr, "cant opent file %s \nerror code 15 \n", argv[1]);
return 15;
}
a = getc(file);
}else// get characters from stdin if no arguments
a = getchar();
char *buffer = malloc(200);
int j = 0;// buffer index helper
while(a != EOF){//reads character by character until EOF
if(j > 200){
j =0;
// fprintf(stderr,"error error, buffer overflow. \n error code 35 \n"); // send error to stderrl
// return 35;
}
Я получаю ошибки, хотя:
error: invalid conversion from `void*' to `char*' xsd.cpp:30: error: expected `}' at end of input xsd.cpp:30: error: expected `}' at end of input
Вы не нашли пару}} в конце кода или просто не вставляете все? –
Я обычно предлагаю сначала установить первое сообщение об ошибке. Но в этом случае, оставляя закрывающие скобки, это ошибка, которая настолько проста, что она должна быть исправлена даже до публикации кода. – DavidO
Не достаточно ли этих ошибок? Просто прочитайте их и обрабатывайте их один за другим. – Deduplicator