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

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

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

fgets и CString - C++

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

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

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

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

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

Заранее спасибо.))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.03.2012, 14:10     fgets и CString
Посмотрите здесь:

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

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

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

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

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

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

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

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

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

#include <iostream>
#include <string>

Этих не хватает.
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.03.2012, 15:59     fgets и CString #4
Цитата Сообщение от SAkonst Посмотреть сообщение
string это класс? Какой header подключать?
какой header подключать для getline?
<string>
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 16:33  [ТС]     fgets и CString #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> компилятор пребывает в полной уверенности, что он не знает этих функций?
kazak
3034 / 2355 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
10.03.2012, 16:35     fgets и CString #6
Это стандартный хидер и все классы и функции из него находятся в пространстве имен std.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 16:39     fgets и CString
Еще ссылки по теме:

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

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

Считывает ли функция fgets строку посимвольно? - C++
Проконсультируйте пожалуйста. Смотрите данная функция имеет три аргумента: //Первый из трех аргументов функции является указателем на...

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

Некорректный ввод при многократном fgets - C++
Написал функцию, чтобы пользователь вводил только корректные данные (Чтобы не было пробелов и пустых строк). Если ввести &quot;123 456...


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

Или воспользуйтесь поиском по форуму:
SAkonst
0 / 0 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 16:39  [ТС]     fgets и CString #7
Кстати, вопрос вдогонку.
Почему не работает fscanf (Logfile, "%s[\n\r]", String);?
fprintf прекрасно ест и перевод строки и возврат каретки.
Yandex
Объявления
10.03.2012, 16:39     fgets и CString
Ответ Создать тему
Опции темы

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