Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/18: Рейтинг темы: голосов - 18, средняя оценка - 4.78
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39

Работа с библиотекой Srting

29.10.2019, 22:39. Показов 3978. Ответов 29

Студворк — интернет-сервис помощи студентам
Здравствуйте! Вообщем, я работал со строками, которые обьявлял просто, через чар, сел на библиотеку String и перестало работать множество функций для работы с файлами. Помогите пожалуйста
П.С. подчеркивает 10 строку букву а
C
1
2
3
4
5
6
7
8
9
10
11
12
13
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
void main()
{
    string a;
    FILE* f = fopen("f.txt","r");
    fgets(a,255, f);
    fclose(f);
    system("pause");
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2019, 22:39
Ответы с готовыми решениями:

Поля to Srting
Добрый день! есть к примеру такой класс class City { String City_name; String Country;

Нужна летиратура, в которой бы описывались работа с событиями, работа с элементами управления
Помогите пожалуйста найти летиратуру, в которой бы описывались работа с событиями,работа со всеми элементами управления(toolbox).И если...

Работа - проведение обучающих семинаров по C#. Работа по выходным дням ( сб-вс - 32 часа). От 30 000р.
Обязанности - проведение обучающих семинаров по C# Базовый (начальный уровень). Опыт преподавания не обязателен, главное чтобы вы не...

29
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
30.10.2019, 15:30  [ТС]
Студворк — интернет-сервис помощи студентам
то я затупил, не ту библиотеку подключил, проблема другая при выводе идет все до пробела (так как сиаут) а при выводе при помощи принтф выводит иероглифы
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
30.10.2019, 15:34
Лучший ответ Сообщение было отмечено chueveve как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
#include <fstream>
int main()
{
    std::string a;
    std::ifstream in("f.txt");
    std::getline(in, a);
    std::cout << a << std::endl;
    system("pause");
 
}
Добавлено через 2 минуты
Если нужно считать весь файл, то
C++
1
2
3
4
5
6
7
8
9
10
#include <fstream>
int main()
{
    std::string a;
    std::ifstream in("f.txt");
    a = (std::stringstream() << in.rdbuf()).str();
    std::cout << a << std::endl;
    system("pause");
 
}
1
фрилансер
 Аватар для Алексей1153
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,054
30.10.2019, 15:34
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
На этом основаны многие демонстрации того, что Си быстрее, чем С++
так это не демонстрации, а шарлатАнства, значит - ловить выгоду на отсутствии инициализации. На этом производительности не добиться, зато багов отхватить - запросто. И вообще речь была не об этом. Давай, покажи примеры, когда контейнеры по твоему мнению опасны, если их использовать как обёртку для new/delete. Давай вместе эти твои примеры рассмотрим
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
30.10.2019, 15:36
Цитата Сообщение от Алексей1153 Посмотреть сообщение
так это не демонстрации, а шарлатАнства, значит - ловить выгоду на отсутствии инициализации. На этом производительности не добиться, зато багов отхватить - запросто
Ну добиваются же, демонстрируют.
Какие ты баги можешь отхватить заполнив буфер нулями, перед тем как заполнить его другими значениями?
0
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
30.10.2019, 15:40  [ТС]
Огромное спасибо! Просто сейчас в академии учим си и си++, пишем using namespace std, с файлами работаем при помощи <stdio.h> и да, возможно я надоел, вы не знаете что-то по типу fscanf (считать с файла, но через знаки fscanf(f, "%[^:]:%i:%i\n", str,a,b)
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
30.10.2019, 15:42
Цитата Сообщение от Алексей1153 Посмотреть сообщение
Давай, покажи примеры, когда контейнеры по твоему мнению опасны, если их использовать как обёртку для new/delete. Давай вместе эти твои примеры рассмотрим
Ну давай, рассмотрим один из просёров - когда чувак запросил путь к какой-то общей папке в std::string s(MAX_PATH), потом добавил к пути свою папку, сделал +=, потом попыталься удалить всё дерево по s.c_str().

Добавлено через 2 минуты
Цитата Сообщение от chueveve Посмотреть сообщение
вы не знаете что-то по типу fscanf (считать с файла, но через знаки fscanf(f, "%[^:]:%i:%i\n", str,a,b)
Я этим давно не пользовался.
Туда вроде адреса надо передавать fscanf(f, "%[^:]:%i:%i\n", str, &a, &b)
0
1 / 1 / 0
Регистрация: 04.06.2019
Сообщений: 39
30.10.2019, 15:46  [ТС]
Да надо, я писал код с файлами этим летом, дальше с ними не работал, учу ооп => чуток подзабыл

Добавлено через 1 минуту
ОГРОМНОЕ всем спасибо что помогли
0
фрилансер
 Аватар для Алексей1153
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,054
30.10.2019, 15:54
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Ну давай, рассмотрим один из просёров - когда чувак запросил путь к какой-то общей папке в std::string s(MAX_PATH), потом добавил к пути свою папку, сделал +=, потом попыталься удалить всё дерево по s.c_str().
помню. Там как раз в голом массиве без инициализации дело было, путь был короче массива, ноль он не дописал, в итоге в конце - мусор. Пример не подходит

Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Туда вроде адреса надо передавать fscanf(f, "%[^:]:%i:%i\n", str, &a, &b)
конечно надо адреса
fscanf(f, "%[^:]:%i:%i\n", str.c_str(), &a, &b)
или
fscanf(f, "%[^:]:%i:%i\n", &str[0], &a, &b)
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
30.10.2019, 16:00
Цитата Сообщение от Алексей1153 Посмотреть сообщение
помню. Там как раз в голом массиве без инициализации дело было, путь был короче массива, ноль он не дописал, в итоге в конце - мусор. Пример не подходит
Причём тут твой глолый массив и недописанный ноль?
Здесь начала удаляться родительская папка, благо вовремя заметили.
0
фрилансер
 Аватар для Алексей1153
6454 / 5655 / 1129
Регистрация: 11.10.2019
Сообщений: 15,054
30.10.2019, 16:14
oleg-m1973, значит, это про другой топик. Но при чём тут контейнер тогда. Просто невнимательность

В общем, аргументов так и нету. Спор ради спора?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2019, 16:14
Помогаю со студенческими работами здесь

Работа формы в фоне, вне фокуса (работа с раскладкой клавиатуры)
Как заставить это работать в фоне? Даный код работает пока форма в фокусе, как только ее отпускаем - она не реагирует. Public...

Количество подведенного и отведенного тепла, работа сжатия, работа расширения
Определить количество подведенного и отведенного тепла, работу сжатия, работу расширения, полезную работу и КПД цикла предыдущей...

Работа с Меню. Сохранение, печать, создать новый. Работа с рисованием
В общем сабж. Делается программа, которая должная Сохранять, печатать и очищать поле (создать новый/очистка). Также хочу спросить как...

Работа с файловой системой (системное название некоторых папок и работа со скрытыми документами)
Всем привет, подскажите каким образом можно из VBA сохранить документ txt в папке &quot;Общие документы&quot; и задать для него свойство...

Нужна книга, где рассматриваются работа с прерываниями, указатели, работа с памятью, ассемблерные вставки
Привет всем! Подскажите, пожалуйста, хорошую книгу по C (именно C, не C++). Интересует работа с прерываниями, указатели, работа с памятью,...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru