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

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

Войти
Регистрация
Восстановить пароль
 
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
#1

строки, массивы символов - C++

24.03.2010, 20:11. Просмотров 399. Ответов 3
Метки нет (Все метки)

1)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
int main()
 {
   char command[4];
   char fname[60];
   char line[80];
   
   int i=0,j=0,k=0;
 
   scanf("%s",command);
   switch
 
//================================================================    
   while((line[i]!=' '))
    {
    command[i]=line[i];
    i++;
    }
   while(line[i]==' ')i++;
   for(j=0;j<60,i<80;i++,j++)fname[j]=line[i];
 
 
//================================================================
 
 
 { 
   printf("\n");
     for(int i=0;i<4;i++)printf("%c",command[i]);
   printf("\n");
      printf("\n");
        for(int i=0;i<60;i++)printf("%c",line[i]);
      printf("\n");
 
 }
 
}
здесь хотел прочтенную строку разделить на 2 строки, делиться так: если встречается пробел, то это первое слово(до пробела), потом пропускаются все пробелы и 2ое слово,

ну так вот первое слово копируется нормально, 2ое я не знаю оно не вывобиться на экран
а если выводить массив line то выводяться крякозябры всякие(делаю все в linux)...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2010, 20:11     строки, массивы символов
Посмотрите здесь:

Строки как массивы символов :( - C++
При работе со строками не использовать указатели. Строки рассматривать как массивы символов и работать с индексами. Дана строка текста, в...

Строки, как одномерные массивы символов - C++
Дана строка символов, состоящая из цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания их значений. ...

Строки, представленные как массивы символов перевернуть и объединить - C++
Добрый день! Вводятся 2 строки. Перевернуть обе строки, склеить и вывести. Решить задачу с использование строк типа string...

Массивы символов в c++ - C++
Всем доброго времени суток. Начал недавно изучать, сейчас добрался до массивов символов char*. Может кто-то подробно объяснить что это...

Массивы строк и символов - C++
Проблема следующая: написал программу, результатом который будет вывод на экран(или в файл) строки s вместо символа a. вот код: //...

Стринги(массивы символов) - C++
Подскажите с заданием: Написать программу, которая с помощью собственной функции с параметром s (или двумя параметрами s и t) типа char: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NNN777
299 / 157 / 19
Регистрация: 27.02.2010
Сообщений: 317
25.03.2010, 14:17     строки, массивы символов #2
Вашу задачу, наверное, проще сделать через указатели и функции:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void form (char *a,char *out, char *out2)
{   
    char *first=a; int flag=1;
    *out='\0';
    *out2='\0';
 
    while (*(first=probel1(a)))//пока не конец строки first=начало 1-го слова
    {
        a=probel2(first);//а=конец первого слова
        
        if (flag=!flag) //если значение flag меняется 
            out2=copyword(first, out2,a-first);//это второе слово
        else 
            out=copyword(first, out,a-first);
    }   
}
//пропускает пробелы: если символ пробел указатель продвигается на 1 вперед
char *probel1(char *in)
{ 
    while (*in&&((*in==' ')||(*in=='\t')))
        in++;
    return in;
}
//пропускает символы: если символ не пробел указатель продвигается на 1 вперед
char *probel2 (char *in)
{
    while (*in&&*in!=' '&&*in!='\t')
        in++;
return in;
}
//копирование от одного указателя до другого в строку
char *copyword (char * from, char *to, int len)
{
    for (int j=0; (j<len)&&(*to++=*from++); j++)
        ;
    *to++=' ';
    *to='\0';
    return to;
}
yanyk1n
4329 / 1460 / 152
Регистрация: 12.03.2009
Сообщений: 5,310
25.03.2010, 15:37     строки, массивы символов #3
besh]<a, а strtok() не пробовали использовать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2010, 18:11     строки, массивы символов
Еще ссылки по теме:

В функции не передаются массивы символов - C++
в функции не передаются массивы символов, при проверке на то что находится внутри массива вместо значений выдаются квадраты. вот код:...

Двухмерные массивы(матрица символов) - C++
Вывести для каждой строки и каждого столбца символ который колличественно преобладает. В том случае если таких символов нет то вывести...

Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. - C++
заданы 2 строки,состоящие из слов,разделенных пробелами.Определить местоположение символа первой строки,который первым совпал с одним из...

Заданы 2 строки. Определить местоположение символа первой строки, который первым не совпал с одним из символов второй - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...


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

Или воспользуйтесь поиском по форуму:
besh]<a
13 / 11 / 1
Регистрация: 02.11.2009
Сообщений: 194
27.03.2010, 18:11  [ТС]     строки, массивы символов #4
прище не проще, проблема же не в этом... через винду нормально все выводиться на консоль, через линь кривые символы....
вобщем, там на консоль выводиться символы юникод, они 2хбайтовые, а char однобайтовый, вроде так если я правильно понял все... че делать?
Yandex
Объявления
27.03.2010, 18:11     строки, массивы символов
Ответ Создать тему
Опции темы

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