Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: exp   (17.12.2008 в 03:33)
какими функциями пытались делать ?

тоже чевойто со строками не разберусь никак , только стандартными сишными функциями хотел
, без strlen(), но почемуто у меня sizeof() всегда показывает 4 со строками, а читал где-то что должен размер строки показывать. Надо попробовать другим компилятором,
#include <stdio.h> // sscanf() printf()
#include <conio.h> // getch();
#include <malloc.h> // calloc() free()
#include <string.h> // strlen()

main() {
  char *str = "111111 000000 11 111111111  00 111";
  char *bf;
  int p=0;
  
if( (bf = (char *)calloc(512, sizeof(char))) == NULL)
   return 1; // выделение памяти или return

char  *gc = (char *)calloc(1, sizeof(char));

while (sscanf( &str[p], "%s*", bf)
       && (p += strlen(bf)) < strlen(str)) {
  while (sscanf(&str[p+1], "%c", gc)
      && gc == " ") { p++; } // здесь баг
/* хотел применить getc() вместо второго sscanf()
    но просто отказалось работать. */

  printf("%s\n %i\n", bf, p);
}

free(gc);
free(bf); // освободить память
  getch();
  return 0;
}

У меня такой вопрос , извиняюсь что в не своей теме ,)
функция getc() обычно работает с указателем на память ?
, как пытался сделать getc(&bf[1])
и почему второй sscanf() не хочет считать пробелы ?
вроде должен считать , если "%c" (пробовал "%Fc", "%Nc", не работает на DevCpp)


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: