Ich lese aus Textdatei hex, aber ich möchte es in zwei Ziffern teilen?hex aus Textdatei lesen und es in c-Programm teilen
#include <studio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void main() {
char hexa[100];
FILE *fp = fopen ("data2.txt", "r+");
fscanf(fp, "%s", hexa);
printf("\n first data = %s \n", hexa);
printf("\n first digit= %s \n", hexa[1]);
printf("\n second digit= %s \n", hexa[2]);
fclose(fp);
}
Ich lese aus der Datei erfolgreich, aber das Ergebnis ist:
first data = 16
segmentation fault
die Aussage: '# include' sollte sein: '# include ' –
user3629249
der zurückgegebene Typ aus der 'main()' Funktion ist immer 'int', kann aber' void' wenn ohne OS ausgeführt wird. Ja, ich weiß, dass 'Visual Studio' 'void' zulässt, aber das ist kein Standard – user3629249
Wenn Sie die Funktion' fopen() 'aufrufen, überprüfen Sie immer (! = NULL) den zurückgegebenen Wert, um sicherzustellen, dass der Vorgang erfolgreich war. Falls nicht erfolgreich, rufen Sie 'perror (" fopen for data2.txt failed ") auf; gefolgt von: 'exit (EXIT_FAILURE);' – user3629249