Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
#1

fgets и CString - C++

10.03.2012, 14:10. Просмотров 923. Ответов 6
Метки нет (Все метки)

Здравствуйте,

У меня возник вопрос, проконсультируйте, пожалуйста, что можно сделать в этой ситуации?

Нужно прочитать строчку целиком из файла. Насколько я понял fscanf целиком строчку запомнить не может (возможно я не умею пользоваться этой функцией).
Использую fgets. Но fgets не дружит с классом CString, ему char подавай. Но вводить переменную char не хочется, потому что придется ему давать ограниченный размер, а длина строки заранее неизвестна. Давать размер char гарантированно больший чем длина строки (к примеру char String[500]) мне кажется не красиво.

Как можно выкрутится?

Заранее спасибо.))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2012, 14:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос fgets и CString (C++):

Не работает fgets - C++
Код еще не написан, но появилась какая-то проблема...ЧТо я делаю не так? #include <stdio.h> #include <stdlib.h> #include...

Fgets некорректный результат - C++
#include <iostream> #include <cstring> #include <cstdio> using namespace std; bool password(); int main () { if(password())...

Использование оператора fgets - C++
Помогите решить задачу, пожалуйста, с использованием функции fgets. В командной строке программе передаются два числа. Из файла с текстом...

Использование функции fgets - C++
Передо мной встала следующая проблема - не могу понять, как работает функция strcmp. К примеру приведу данный код программы: ...

Как использовать функцию fgets? - C++
Люди прочитал тут про функцию fgets() но как то понять до конца не могу поясните плиз кто понимает и работал с ней уже... А нашел такую...

Как использовать getline и fgets? - C++
#include <iostream> #include <fstream> #include <string> using std::ofstream; using std::cout; using std::endl; using...

6
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
10.03.2012, 15:01 #2
чем не устраивает getline? и почему бы не использоваться просто string?
0
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 15:56  [ТС] #3
Поясните, пожалуйста:

string это класс? Какой header подключать?
какой header подключать для getline?

#include <iostream>
#include <string>

Этих не хватает.
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
10.03.2012, 15:59 #4
Цитата Сообщение от SAkonst Посмотреть сообщение
string это класс? Какой header подключать?
какой header подключать для getline?
<string>
0
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 16:33  [ТС] #5
К сожалению, этих header'ов не хватает. Что string, что getline "identifier is undefined".
Аппликацию пишу используя MFC на VS2010

Верна ли эта часть кода? (Взял с примера getline)
C++
1
2
3
4
5
6
7
8
9
10
#include "stdafx.h"
#include "afxdialogex.h"
#include <istream>
#include <string>
 
string String
 
FILE *Logfile;
while (! feof (Logfile))                 // пока не закончится файл копировать строку в String
            Logfile.getline(String, (sizeof(String)), "\n")
также наткнулся в примерах на такую трактовку:
C++
1
2
  string str;
   getline(cin,str);
Что из этого есть верно и туда ли я вообще смотрю? Может getline нужно использовать по другому?

И почему несмотря на подключенный <string> компилятор пребывает в полной уверенности, что он не знает этих функций?
0
kazak
3035 / 2356 / 155
Регистрация: 11.03.2009
Сообщений: 5,402
Завершенные тесты: 1
10.03.2012, 16:35 #6
Это стандартный хидер и все классы и функции из него находятся в пространстве имен std.
0
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 16:39  [ТС] #7
Кстати, вопрос вдогонку.
Почему не работает fscanf (Logfile, "%s[\n\r]", String);?
fprintf прекрасно ест и перевод строки и возврат каретки.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 16:39
Привет! Вот еще темы с ответами:

Функция fgets и перевод строки - C++
Есть файл со строками, надо прочитать все через функцию fgets. Как сделать, чтобы она читала каждую строку по очереди? Проблема на...

Как детектировать EOF с fgets/gets - C++
Проблема в определении: Файл1: строка1 строка2 EOF Файл2: строка1 строка2EOF

Странно ведёт себя функция fgets - C++
(в файле лежит предложение на английском) int main() { FILE *f; char str; if ((f=fopen(&quot;Е:\\...имя файла&quot;,&quot;r&quot;))=NULL){printf...

Как правильно работать с функциями gets() и fgets()? - C++
Подскажите, как правильно пользоваться ими? При использовании gets() компилятор выдает ошибку error: ‘gets’ was not declared in this scope ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
10.03.2012, 16:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru