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

Подскажите с концом строки "\0" - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.59
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:04     Подскажите с концом строки "\0" #1
Подскажите пожалуйста, есть набор цифр:
1 2 3
4 5 6
7 8 9
Как мне узнать где заканчивается строка??? Т. Е. где находится "\0". Как это можно узнать без использования string, char и т. д.
P.S. Я хочу записывать каждую новую строку в новый массив, массив типа int.

Добавлено через 16 часов 59 минут
Неужели не кто не подскажет???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2013, 12:04     Подскажите с концом строки "\0"
Посмотрите здесь:

Подскажите почему может появляться ошибка: "неразрешенный внешний символ "_SDL_..."" C++
Сколькими способами можно получить строку "В" из строки "А", вычеркивая некоторые символы C++
C++ Обчисление введенной строки любого формата(пример:"(2+3)/4*2"или"2+3"или ...)
C++ Ввести имя фамилию и отчество как одно данное типа строка. Определить длину строки и количество гласных в нем. Удалить все буквы "а" и "о" в фамилии.
C++ Даны две строки. Если они начинаются с одинаковых символов, то напечатать "ДА", иначе - "НЕТ"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
happylover
0 / 0 / 0
Регистрация: 21.05.2013
Сообщений: 3
21.05.2013, 12:10     Подскажите с концом строки "\0" #2
Это делается через printf "'значение'/0" чтобы было с новой строки каждый раз
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
21.05.2013, 12:12     Подскажите с концом строки "\0" #3
эм - перевод строки это символ \n, а никак не \0
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:15  [ТС]     Подскажите с концом строки "\0" #4
Кудаив, Не перевод строки, а окончание строки меня интересует.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
21.05.2013, 12:16     Подскажите с концом строки "\0" #5
Цитата Сообщение от NaikoN Посмотреть сообщение
Подскажите пожалуйста, есть набор цифр:
в каком виде он у тебя есть? что ты хочешь сделать ? нифига не понятно
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:17     Подскажите с концом строки "\0" #6
Цитата Сообщение от NaikoN Посмотреть сообщение
Подскажите пожалуйста, есть набор цифр:
Где он есть? Если в текстовом файле, то в конце каждой строки присутствует симовл новой строки ('\n').

Добавлено через 1 минуту
Цитата Сообщение от NaikoN Посмотреть сообщение
Как мне узнать где заканчивается строка???
Что значит где? В конце строки и заканчивается строка.
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:18  [ТС]     Подскажите с концом строки "\0" #7
happyfucken, Насколько я понимаю, функция printf отвечает за вывод, а меня интересует считывание данных из фала, пока не будет достигнут конец строки.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:20     Подскажите с концом строки "\0" #8
И что значит "узнать"?

Добавлено через 1 минуту
Цитата Сообщение от NaikoN Посмотреть сообщение
а меня интересует считывание данных из фала, пока не будет достигнут конец строки.
Если посимвольно, то читайте (в текстовом режиме) пока '\n' или EOF не попадётся. Это и будет конец строки.
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:23  [ТС]     Подскажите с концом строки "\0" #9
Кудаив, Есть текстовый фаил например 1.txt, в нем есть набор цифр, например:
1 2 3
4 5 6
7 8 9
Каждая строка оканчивается символом "\0", т.е. окончание строки. Как мне считывать каждую новую строку в новый массив, т.е. как я могу определить, что строка закончилась и ввод данных идет уже с новой строки, без использования string, char?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:23     Подскажите с концом строки "\0" #10
Если всю строку считать, то есть getline() (глобальная). Читает строку в string.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.05.2013, 12:27     Подскажите с концом строки "\0" #11
Цитата Сообщение от NaikoN Посмотреть сообщение
есть набор цифр:
1 2 3
4 5 6
7 8 9
Раз уж Вы указали исходные данные в таком виде, значит есть 3 строки, значит в конце каждой (ну, может быть за исключением последней) есть перевод строки (\n, \r, или пара \r\n, зависит от системы).
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:33     Подскажите с концом строки "\0" #12
Цитата Сообщение от NaikoN Посмотреть сообщение
Неужели не кто не подскажет???
Если уверены, что в конце каждой строки '\0', то читайте посимвольно до '\0'. Что ещё сказать?

Добавлено через 4 минуты
Чтобы пнятней было... В файле, приблизительно, это так расположено:1 2 3'\0''\n'4 5 6'\0''\n'7 8 9'\0'EOF
Это если '\0' в конце строки есть. Могут и не быть (нужно смотреть как файл записывался).
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
21.05.2013, 12:39     Подскажите с концом строки "\0" #13
alsav22, без стринг ему надо

NaikoN, вот теперь понятно)) cin.getline считывает строку до указанного символа разделителя в char буффер
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:44  [ТС]     Подскажите с концом строки "\0" #14
Кудаив, Нет, нет, мне наоборот нужно сделать без использования строк или char()

Добавлено через 3 минуты
alsav22, А как можно узнать в конце строки стоит "\0" или "\n"?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:48     Подскажите с концом строки "\0" #15
Цитата Сообщение от NaikoN Посмотреть сообщение
alsav22, А как можно узнать в конце строки стоит "\0" или "\n"?
Файл как создавался?

Добавлено через 1 минуту
Ноль будет, если именно строка записывалась. Если просто символы (или числа), то не будет.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
21.05.2013, 12:50     Подскажите с концом строки "\0" #16
Цитата Сообщение от alsav22 Посмотреть сообщение
В файле, приблизительно, это так расположено:1 2 3'\0''\n'4 5 6'\0''\n'7 8 9'\0'EOF
А откуда '\0' в файле, его туда специально записали?

Добавлено через 33 секунды
Цитата Сообщение от alsav22 Посмотреть сообщение
Ноль будет, если именно строка записывалась.
Серьёзно? Это как надо писать?
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 12:50  [ТС]     Подскажите с концом строки "\0" #17
Всем спасибо, вроде все получилось, что хотел.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 12:51     Подскажите с концом строки "\0" #18
Лучще код покажите, как пробуете, а то непонятно, что нужно.
NaikoN
2 / 2 / 0
Регистрация: 01.05.2013
Сообщений: 109
21.05.2013, 13:00  [ТС]     Подскажите с концом строки "\0" #19
alsav22, Получилось, где-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
  ifstream cin("1.txt");      
  int x,z[1000],i=0,zz[1000],j=0,ii;
  char c[1000];
 while(cin>>noskipws>>z[i]>>c[i])
    {
     if(c[i]=='\n')
       {
         break;
       }
      i++;
    }
  while(cin>>noskipws>>zz[j]>>c[j])
    {
     if(c[j]=='\0')
       {
         break;
       }
     j++;
    }
}
в фале 1.txt записано:
1 2 3 4 5
6 7 8 9
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2013, 13:17     Подскажите с концом строки "\0"
Еще ссылки по теме:

C++ Подскажите как перегрузить операторы ">>", "<<" и "="
Определить длину каждого слова строки, и если она четная, то вставить в середину слова "aa", иначе "а" C++
C++ Найти номер последней по порядку строки в матрице, содержащей наибольшее количество букв "ш", "щ"

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

Или воспользуйтесь поиском по форуму:
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.05.2013, 13:17     Подскажите с концом строки "\0" #20

Не по теме:

Цитата Сообщение от Tulosba Посмотреть сообщение
Серьёзно? Это как надо писать?
Вот так
C++
1
fout << string << '\0';



Добавлено через 3 минуты
NaikoN, не нужно такое имя для файлового потока давать. Лучше fin.

Добавлено через 2 минуты
noskipws тут для чего?
Yandex
Объявления
21.05.2013, 13:17     Подскажите с концом строки "\0"
Ответ Создать тему
Опции темы

Текущее время: 01:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru