Привет, я пытаюсь сделать простую программу, которая будет читать текст и хранить в строке и в конце вернуть его туда, где я назвал свою функцию. Что у меня до сих пор есть:Прочтите файл и сохраните его в строке
void crawler() {
FILE *file;
char line[256], letra[256];
int j = 0;
file = fopen("teste.txt", "r");
letra[j] = fgetc(file);
j++;
while (fgets(line, sizeof(line), file)) {
for(int i = 0; line[i] != 00; i++)
{
if(line[i] == 46)
{
if(line[i+1] == 46)
{
letra[j] = " ";
j++;
}
}
else
{
letra[i] = line[i];
j++;
}
}
}
Но я не знаю, правильно ли это. Должен ли я сделать динамический Char вместо использования malloc? Каков наилучший подход к тому, что я пытаюсь сделать?
[Редактировать]
Im получаю сообщение об ошибке в этой строке: letra[j] = " ";
несовместимой указатель целочисленного преобразования
Ты ничего не возвращающегося, и не будет соблазна вернуться адрес вашего буфера, потому что в стеке, и станет недействительным, как только Вы возвращаетесь. Так что да, я бы 'malloc' был буфером. –
Почему вы перемещаете прочитанные данные? Сначала вы читаете его в 'line', и вы копируете его на' letra'. Зачем и зачем? – ForceBru
Что такого особенного в 46? – chux