Я пытаюсь прочитать текстовый файл по строке, используя fget() в C++, а символы «плюс-минус» отображаются как «?» символ. Имеет ли это какое-либо отношение к кодировке. Я попытался переключиться на Unicode, но результат хуже. Пожалуйста, помогитеНевозможно прочитать символ «плюс-минус» из файла
Спасибо. EDIT: Это мой код:
#define AMINOACIDS "ARNDCQEGHILKMFPSTWYV"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int getAmino(char* index, int j_index, int i_index){
int j = 0;
char *buffer = (char*)malloc(sizeof(char) * 100);
FILE *file;
file = fopen("blosum50.txt", "r");
if(file == NULL){
perror("Error at opening the file!");
}else{
while (!feof(file))
{
printf("In while:\n");
if (fgets(buffer , 100 , file) == NULL){
break;
}
fputs (buffer , stdout);
if(j == j_index){
break;
}
j++;
}
fclose (file);
}
return 0;
}
int main(void){
char *aMatrix = (char*)malloc(sizeof(char) * (21));
strcpy(aMatrix, AMINOACIDS);
getAmino(aMatrix, 0, 1);
return 0;
}
Затем, когда я ударил Ctrl + S всплывает сообщение:
Если я нажимаю Нет, символы отображаться как "?" символ:
Если я нажимаю Да, они появляются как это:
И это содержание моего файла:
5 -2 -1 -2 -1 -1 - 1 0 -2 -1 -2 -1 -1 -3 -1 1 -0 -3 -2 0 -2 7 -1 -2 -4 1 0 -3 0 -4 -3 3 -2 -3 -3 -1 -1 -3 -1 -3 -1 -1 7 2 -2 0 0 0 1 -3 -4 0 -2 -4 -2 1 0 -4 -2 -3 -2 -2 2 8 - 4 0 2 -1 -1 -4 -4 -1 -4 -5 -1 0 -1 -5 -3 -4 -1 -4 -2 -4 13 -3 -3 -3 -3 -2 -2 -3 -2 -2 -4 -1 -1 -5 -3 -1 -1 1 0 0 -3 7 2 -2 1 -3 -2 2 0 -4 -1 0 -1 -1 -1 -3 -1 0 0 2 -3 2 6 -3 0 -4 -3 1 -2 -3 -1 -1 -1 -3 -2 -3 0 -3 0 -1 -3 -2 -3 8 -2 -4 -4 -2 -3 -4 -2 0 -2 -3 -3 -4 -2 0 1 -1 -3 1 0 -2 10 -4 -3 0 -1 -1 -2 -1 -2 -3 2 -4 -1 -4 -3 -4 -2 -3 -4 -4 -4 5 2 -3 2 0 -3 -3 -1 -3 -1 4 -2 -3 -4 -4 -2 -2 -3 -4 -3 2 5 -3 3 1 -4 -3 -1 -2 -1 1 -1 3 0 -1 -3 2 1 -2 0 -3 -3 6 -2 -4 -1 0 -1 -3 -2 -3 -1 -2 -2 -4 -2 0 -2 -3 - 1 2 3 -2 7 0 3 -2 -1 -1 0 1 -3 -3 -4 -5 -2 -4 -3 -4 -1 0 1 -4 0 8 -4 -3 -2 1 4 -1 -1 -3 - 2 -1 -4 -1 -1 -2 -2 -3 -4 -1 -3 -4 10 -1 -1 -4 -3 -3 1 -1 1 0 -1 0 -1 0 -1 -3 -3 0 -2 -3 -1 5 2 -4 -2 -2 0 -1 0 -1 -1 -1 -1 -2 -2 -1 -1 -1 -1 -2 -1 2 5 -3 -2 0 -3 -3 -4 -5 -5 -1 -3 -3 -3 -3 -2 -3 -1 1 -4 -4 -3 15 2 -3 -2 -1 -2 -3 -3 -1 -2 -3 2 -1 -1 -2 0 4 -3 -2 -2 2 8 -1 0 -3 -3 -4 -1 -3 -3 -4 -4 4 1 -3 1 -1 -3 -2 0 -3 -1 5
Показать нам код, показать нам файл. –
Что именно вы имеете в виду «хуже». – Philipp
Какая кодировка имеет файл? И где вы видите '?'? Если вы попытаетесь вывести его на консоль: вы, вероятно, не сможете :) – Theolodis