|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.09.2011, 12:59 | #1 |
Регистрация: 21.09.2011
Сообщений: 6
|
Не читаются строки из файла
Добрый день!
Третий день сижу с программой. Не получается чтение из файла. Написала пробную мини программу, выдается таже ошибка: void __fastcall TForm1::Button1Click(TObject *Sender) { FILE *f; AnsiString s; f=fopen("t.txt","w"); s="54"; fprintf(f,"%s\n",s); s="25"; fprintf(f,"%s\n",s); fclose(f) ; f=fopen("t.txt","r"); fscanf(f,"%s",s,"\n"); Edit1->Text=s; fscanf(f,"%s",s,"\n"); Edit2->Text=s; Если запусать сразу весь кусок программы, то все работает, а если закрыть, открыть снова программу и пользоваться только этим куском программы: f=fopen("t.txt","r"); fscanf(f,"%s",s,"\n"); Edit1->Text=s; fscanf(f,"%s",s,"\n"); Edit2->Text=s; , то прога выдается ошибку, что идет обращение к нулевому адрессу. Ей не нравится строка fscanf(f,"%s",s,"\n"). Помогите, Плиз!!! |
21.09.2011, 13:44 | #2 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
А так пойдёт?
Код:
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
21.09.2011, 16:17 | #3 |
Регистрация: 21.09.2011
Сообщений: 6
|
Спасибо большое, а почему не идет с AnsiString?
|
21.09.2011, 16:35 | #4 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Потому, что тип AnsiString выделяет память динамически, и программа не знает, куда ссылаться переменной s. Вообще-то правильно писать &s, но Борланд сам делает приведение к типу "указатель". С "чистым" С, к сожелению, такой фокус не пройдёт.
А вообще, просто интересно стало, почему вы не используете класс TStringList? Там есть все необходимые Вам функции. А операторы fopen и fscanf для Борланда считаются устаревшими.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder Последний раз редактировалось Smitt&Wesson; 21.09.2011 в 16:43. |
21.09.2011, 17:17 | #5 |
Регистрация: 21.09.2011
Сообщений: 6
|
Я учусь только на третьем курсе, а преподавателя нормального по С не было. Приходилось самостоятельно. Что понимаю, то и пишу)))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
УДаление строки из файла методом создания временного файла. | dykatob | Общие вопросы C/C++ | 3 | 28.05.2011 01:46 |
Строки из файла! | P-VS-S | Общие вопросы C/C++ | 1 | 09.12.2009 03:50 |
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй | gotex | Помощь студентам | 4 | 08.05.2008 02:27 |
Из файла не читаются русские буквы. | snaem | Общие вопросы .NET | 3 | 31.03.2008 23:05 |
Найти числа,которые читаются слева-направо и справа-налево одинаково(например, 1001). Паскаль | NikLik | Помощь студентам | 8 | 22.11.2007 23:00 |