Похожие чаты

Hello, somebody can give me advice how to parse words

from file without punctuation chars?
i tryed with "%64[a-zA-Z]%*[^a-zA-Z]" but it unsuccessful

13 ответов

34 просмотра

#include <stdlib.h> #include <stdio.h> #include <inttypes.h> #include <ctype.h> #include <stdbool.h> typedef struct { size_t beginI, endI; } StrRegion; int main(void) { // Example data char const str[] = "Once upon a time in a land far far away there was a strange and vast forest"; // Storage int8_t nWords = 0; StrRegion regions[30]; // Find the words bool inWord = false; size_t i = 0; for (; str[i] != '\0'; i++) { if (inWord) { if (isgraph(str[i])) { continue; } inWord = false; regions[nWords - 1].endI = i; continue; } if (isgraph(str[i])) { if (nWords > sizeof(regions) / sizeof(regions[0])) { fprintf(stderr, "Reached region storage limit "); exit(EXIT_FAILURE); } inWord = true; regions[nWords++].beginI = i; } } if (inWord) { regions[nWords - 1].endI = i; } // Print them for (int8_t i = 0; i < nWords; i++) { StrRegion const r = regions[i]; size_t len = r.endI - r.beginI; printf( "%" PRIi8 ": From %zu to %zu (length %zu): ", i, r.beginI, r.endI, len); fwrite(str + r.beginI, sizeof(str[0]), len, stdout); puts(""); } return EXIT_SUCCESS; }

²- Автор вопроса
Chiyando
#include <stdlib.h> #include <stdio.h> #include <i...

im found somethinf easier: while (fscanf(file, " %64[a-zA-Z]", word) == 1) { fscanf(file, "%*[^a-zA-Z]"); printf("%s\n", word); }

²- Автор вопроса
²
@TRGWII whats wrong?

regex for something so simple

²- Автор вопроса
Thomas
regex for something so simple

it just work TM I dont think so its good solution, but in anycase its simpler than man above provide and parsing with bunch of funcs from string.h

Chiyando
How would you solve it?

well what is he really testing for? "64" followed by a character and / or "anything that isn't a character"?

Thomas
well what is he really testing for? "64" followed ...

Oh, I haven't used fscanf so I just assumed %64 has a special meaning. Didn't actually know he is searching for literal "64"

Chiyando
Oh, I haven't used fscanf so I just assumed %64 ha...

I don't know what it means either tbh, but it doesn't seem that complex anyway

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
any reference of this implementation?
BitBuddha
29
Ⓐrtto, [4/23/24 7:02 PM] Please explain more fully how it is not working exactly, and what are the steps you are taking, and what error messages come or what happens. Ⓐrtto, ...
Ezza Kezza
2
sounds like people have lost their kaspa on tradeogre... does this mean tradeogre not trustworthy?
Ezza Kezza
15
Страшнейшая правда про списки ЦБ. С первых дней жизни P2P сферы, молодые человеки, начитавшись законодательной базы и "внутренних" документов, решили, что им противостоит сер...
Foxcool
3
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
So much speculation in the last week. So much volatility in price. This is because Hedera has a GC that isn't using the network it's governing. Why aren't people asking why a...
Summit Seeker R
8
Anyone else having this error when trying to make transactions?
Datzel
11
Question: How viable is it to use Anvil as the backend infrastructure for managing a TradFi portfolio, while integrating Flexa for instant liquidity and payment solutions? Cou...
Kevin
2
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта