Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
Автор: EXP (17.12.2008 в 18:07) у меня выдаёт длинну строки только если строка объявлена как char str[37] , а c указателем даже на такие-же char не смог придумать как посчитать строку попробовал по другому решить предложенную задачку, но не смог избавиться от strlen()
#include <stdio.h> #include <conio.h> #include <string.h> // strlen int main() { int t, i,i2, l2s, max=0; static char str[37] = "1111 000000 11 111111111 00 111"; char bf[512]; printf("\n sizeof %i\n\n", sizeof str); for(i=0; 1; i = i2) { if( sscanf(&str[i], "%s", &bf)< 0) break; //sscanf не захватывает пробельные символы l2s = strlen(bf);// if (max<l2s) max = l2s; for(i2=i+l2s; 1; i2++){ // пропуск пробелов 0x20=" " if (str[i2] != 0x20) break; } printf(" bf = %s\n", bf); } // end of for printf("\n max = %i\n\n\n", max); i=-1; while((i+=1) < max) printf("%c", str[i]); // вывод max символов строки getch(); return 0; }
Ваше имя:
Пароль:
Цитировать Используйте тэги для выделения текста: Код: [code][/code] Жирный: [b][/b] Наклонный: [i][/i] URL: [url][/url]
Сообщение:
Прикрепить: