как прочитать числа в С?
Ты как числа в файл пишешь? Давай код.
---
"Потому что Аллах не ведёт людей неверных."
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *file;
char *str;
str = malloc(100);
printf("Distance\n");
scanf(str);
file = fopen("out.txt", "wt");
fprintf(file,"%s",str);
fclose(file);
return 0;
}
и выдает:ННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННННээээ‘ вместо любого введеного числа.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
scanf("%s", str);
и не забыть
free(str);
в конце программы перед return
Еще, на всякий случай надо привыкать проверять, выделяется ли тебе память malloc и получилось ли открыть файл fopen.
Причём тут кодировки?
Спасибо! Она ЗАРАБОТАЛА!
![](/images/graemlins/grin.gif)
str = malloc(100);надо писать примерно так:
char* str=NULL;
str = (char*)malloc(100);
if(str==NULL){
printf("Eггог!");
return(1);
}
потому что не надо писать на Си
![](/images/graemlins/grin.gif)
> return(1);
Для таких вещей уже давно существует err(3
но особо продвинутым насильникам этого, как обычно, неизвестно.
---
"Vyroba umelych lidi, slecno, je tovarni tajemstvi."
"man" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Я:\моя папка>man err(3)попробу так:
"man" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
K:\Шовинист>man err(3)
Я:\моя папка>man err(3)
"man" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Поставь нормальную операционку.
У меня гугль есть.
![](/images/graemlins/wink.gif)
обычно он так пишет
С файлом +1, с памятью - не так важно. Куда важнее писать scanf("%99s", str хотя одно другому не мешает.
Например твоя прога конечно даже близко не "считывает с клавиатуры числа и записывает их в файл".
И уделять особое внимание тому какая память доступна, и как не вылазить за границы массива.
Такое впечатление, что код скопирован из какого-то FAQ типа "как не надо писать на C".
А текст вопроса с заголовком просто феноменален: заголовок никак не соответствует вопросу, который в свою очередь не соответствует приведенному коду.
Мысленный эксперимент: представь, что видишь на форуме автомобилистов такой диалог (который без малейшего преувеличения аналогичен этому треду):
заголовок: система счисления на циферблате спидометра автомобиля
Простейшее путешествие: выезжаю из точки A и еду в точку B. Только за окном какая-то абракадабра. Как с этим бороться?
А подробнее?
Поворачиваю руль до упора вправо и, не закрыв левую дверь, поворачиваю зажигание и нажимаю газ на первой скорости. Слева на лобовом стекле выезжает стена и застывает с сильным толчком.
А теперь скажи какого ответа по-твоему заслуживает автор вопроса из мысленного эксперимента?
![]()
убей себя!
Разумному человеку сразу ясно, что крайне маловероятно (почти немыслимо чтобы автор всерьез искал помощи специалистов. Очень похоже на психолога, пишущего диплом, но либо не щарящего в C (не видевшего автомобилей соответственно либо исследующего реакцию на заведомо неадекватный вопрос.
Прочитать printf(3) и fread(3).
А зачем тебе эти функции, чтобы "ПРОЧИТАТЬ" ввод и "ЗАПИСАТЬ" в файл?
![](/images/graemlins/smile.gif)
---
...Я работаю...
P.S. Потому что fread(3) и fwrite(3) --- это одна и та же страница.
![](/images/graemlins/smile.gif)
Это девушка.
---
...Я работаю антинаучным аферистом...
кохтпа умеет считать, однако...
Оставить комментарий
nomad
Простейшая прога: считывает с клавиатуры числа и записывает их в файл. Только в файле отображается какая-то абракадабра. Кто-нибудь знает как с этим бороться?