| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | Borland Strings |
Joe Kelch wrote in a message to Donnie Benners:
JK> Everyone seems to suggest something like this, but I fail to
JK> see how this is any different in effect from simply
JK> declaring char StrName[10] to begin with, which is what I
JK> trying NOT to do. I want a VARIABLE length string, which
JK> apparently C just doesn't let you do!
C does have the ability to read one character at a time and build a memory
buffer as needed. This is pretty inefficient for reasons external to the
language, but it can be done. This is untested code, written off the top
of my head. It shows the basic idea.
char *buildstring(FILE *fp) {
char *base, *newbase, *p;
p = base = NULL;
while(NULL != (newbase = realloc(base, p - base + 1))) {
base = newbase;
if(EOF == (*p++ = getc(fp)))
break;
}
*(--p) = '\0';
return(base);
}
-- Mike
---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809 @PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.