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

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

Войти
Регистрация
Восстановить пароль
 
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
#1

Вопрос по строкам - C++

01.06.2011, 17:16. Просмотров 422. Ответов 4
Метки нет (Все метки)

Доброго всем дня!!! Рябята, подскажите, признак окончания строки - это константа '\0'? Если да, то как мы можем считать строку из файла в которой есть пробелы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2011, 17:16     Вопрос по строкам
Посмотрите здесь:

вопрос по строкам - C++
как я могу проверить Эдит на наличие запятой ? if (Edit1->Text ==",") ....... подскажите, пожалуйста. Добавлено...

Интересный вопрос по строкам - C++
У нас есть строка типа чар. С помощью функции strtok в строке найдено минимальное слово. Как определить позицию этого слова, то есть с...

Вопрос по строкам (string) - C++
нужно взять с клавиатуры 2 строки...ну я недолго думая решил воспользоваться методом getline(), потому как манипулятор skipws не работает...

по строкам - C++
Пусть задан текст, заканчивающий точкой. Текст состоит из слов, разделенных пробелами. Слово последов. Русских cлов(как строчных, так и...

подскажите по строкам в С++ - C++
задание вот такое: Даны две строки, состоящие из слов, разделѐнных одним или несколькими пробелами. Из слов этих строк сформировать новую...

Задача по строкам - C++
Вводиться строка, необходимо вывести на экран все слова нечетной длинны, в которых не содержится повторяющихся букв пример, вводим...

Задание по строкам! - C++
Удалить из заданной строки все группы символов, расположенные между круглыми скобками, включая сами скобки.

Задача по строкам в С - C++
Такое дело.Вот задача на С: Найти самое длинное общее слово для всех предложений текста. (Предложения отделяются точками, между словами 1...

Комментарии к строкам - C++
#include <iostream.h> #include <math.h> #include<conio.h> using namespace std; int main() {clrscr(); int a, b; int*...

Программка по строкам - C++
Начал изучать с++ ... возник вопрос по строкам: к примеру, в предложении переставить символы с заду на перед? Вообщем, хелп, товарищи!)


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
1926 / 1192 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.06.2011, 17:23     Вопрос по строкам #2
Да
Считать можно разными способами, например std::cin.getline или std::getline которые игнорируют разделители.
Если читать строку обычными способами(>> или scanf("%s",..) ), то мешает не терминальный нуль(\0), а разделители, в данном случае пробелы, которые прерывают ввод.
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
01.06.2011, 17:30  [ТС]     Вопрос по строкам #3
Цитата Сообщение от diagon Посмотреть сообщение
Если читать строку обычными способами, то мешает не терминальный нуль(\0), а разделители, в данном случае пробелы, которые прерывают ввод
как это можно исправить? нужно это сделать без дополнительных ф-ций, кроме ввода-вывода.
А можно ли, ввести проверку на пробелы, т.е. читать до конца файла, и игнорировать пробелы?
diagon
Higher
1926 / 1192 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
01.06.2011, 17:39     Вопрос по строкам #4
Т.е. пробелы вам не нужны?
C++
1
2
3
4
ifstream in;
char c;
while (in >> c)  
        //используем считанный символ
Так пробелы считываться не будут
Spirited
7 / 7 / 0
Регистрация: 18.01.2009
Сообщений: 55
01.06.2011, 17:51  [ТС]     Вопрос по строкам #5
нужно использовать только
C++
1
#include <stdio.h>
и ф-ции fopen, fclose, fscanf, fprintf. даже банальный strlen нельзя))) Нужно все писать самому)))

Вот фрагмент моего кода:
C++
1
2
3
4
5
6
7
8
int strlen(char str[]) {
    int index;
    char space = ' ';
 
    for ( index = 0; str[index] != '\n'; index++ );
    
    return index;
}
Добавлено через 1 минуту
strlen пока не дописал на игнор пробелов

Добавлено через 42 секунды
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main() {
    char str[N];
    int len;
    char lowCaseLetter[26];
    char upperCaseLetter[26];
    char space = ' ';
    int newChar;
    FILE *fin = fopen("c:\\task.in", "r");
    FILE *fout = fopen("c:\\task.out", "w");
 
    fscanf(fin, "%99s", str);
    
    len = strlen(str);
 
    printf("%d\n", len);
 
    for ( int i = 0; i < len; i++ ) {
        printf("%c", str[i]);
    }
}
Yandex
Объявления
01.06.2011, 17:51     Вопрос по строкам
Ответ Создать тему
Опции темы

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