Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
SAkonst
2 / 2 / 0
Регистрация: 11.02.2012
Сообщений: 19
#1

fgets и CString - C++

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

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

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

http://www.cyberforum.ru/cpp-beginners/thread1100781.html


Нужно прочитать строчку целиком из файла. Насколько я понял 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 некорректный результат
#include <iostream> #include <cstring> #include <cstdio> using namespace...

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

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

Stdio с fgets, stdin
Здравствуйте, нужна помощь с библиотекой stdio, проблема заключается в том, что...

Как использовать функцию fgets?
Люди прочитал тут про функцию fgets() но как то понять до конца не могу...

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

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

#include <iostream>
#include <string>

Этих не хватает.
0
kazak
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
10.03.2012, 15:59 #4
Цитата Сообщение от SAkonst Посмотреть сообщение
string это класс? Какой header подключать?
какой header подключать для getline?
<string>
0
SAkonst
2 / 2 / 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
3057 / 2378 / 255
Регистрация: 11.03.2009
Сообщений: 5,438
Завершенные тесты: 1
10.03.2012, 16:35 #6
Это стандартный хидер и все классы и функции из него находятся в пространстве имен std.
0
SAkonst
2 / 2 / 0
Регистрация: 11.02.2012
Сообщений: 19
10.03.2012, 16:39  [ТС] #7
Кстати, вопрос вдогонку.
Почему не работает fscanf (Logfile, "%s[\n\r]", String);?
fprintf прекрасно ест и перевод строки и возврат каретки.
0
10.03.2012, 16:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2012, 16:39
Привет! Вот еще темы с решениями:

Как использовать getline и fgets?
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;string&gt; using...

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

Функция fgets и перевод строки
Есть файл со строками, надо прочитать все через функцию fgets. Как сделать,...

Некорректный ввод при многократном fgets
Написал функцию, чтобы пользователь вводил только корректные данные (Чтобы не...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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