473,387 Members | 1,374 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Strings in C source code

Hello,

Is it legal to have a non-quote terminated string in C?

For example:

printf("Hello World
\n");

instead of what I normally use

printf("Hello World"
"\n");

I had believed not, but some compilers seem to allow this. Just want to
be sure if this is a problem with my Compiler, or if it really is
allowed. <ot> does anyone know of compilers that allow this? </ot>

Thanks
Jason.
Nov 14 '05 #1
29 2578
It is not legal.

Nov 14 '05 #2
It is not Legal. See K&R2 page 7.

Nov 14 '05 #3
Abhilash wrote:
It is not legal.


You are right that strings cannot be broken across end-of-lines without
changing them to multiple strings to be concatenated, but snipping away
all context only works for people using toys like google groups to read
newsgroups.
Nov 14 '05 #4
Martin Ambuhl wrote:
Abhilash wrote:
It is not legal.


You are right that strings cannot be broken across end-of-lines without
changing them to multiple strings to be concatenated, but snipping away
all context only works for people using toys like google groups to read
newsgroups.


I would say that any newsreader which is displaying conversations in a
threaded manner is in the "toy" category.

Chris
Nov 14 '05 #5
chris wrote:
Martin Ambuhl wrote:
Abhilash wrote:
It is not legal.

You are right that strings cannot be broken across end-of-lines
without changing them to multiple strings to be concatenated, but
snipping away all context only works for people using toys like google
groups to read newsgroups.

I would say that any newsreader which is

*NOT* displaying conversations in a threaded manner is in the "toy" category.

That will teach me to post off-topic ¬_¬
Nov 14 '05 #6
Martin Ambuhl wrote:
Abhilash wrote:
It is not legal.


You are right that strings cannot be broken across end-of-lines without
changing them to multiple strings to be concatenated, but snipping away
all context only works for people using toys like google groups to read
newsgroups.

Thanks!
Nov 14 '05 #7
Jason Curl <j_****************************@foo.bar> wrote:
For example: printf("Hello World
\n"); instead of what I normally use printf("Hello World"
"\n");


I have seen such code and believe that:
"A
B"
is equivalent to:
"A\nB"
so in your example:
printf("Hello World
\n");
should actually equal:
printf("Hello World\n \n");
(note two'\n's and spaces between them).

As an aside:
"A
B
C"
could be easily converted to proper form by appending '\\'s:
"A\n\
B\n\
C"
(the "concatenation" is managed by the preprocessor).

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.

--
Stan Tobias
sed 's/[A-Z]//g' to email
Nov 14 '05 #8
On Wed, 27 Oct 2004 11:17:09 +0100
chris <ca*@cs.york.ac.uk> wrote:
chris wrote:
Martin Ambuhl wrote:
Abhilash wrote:

It is not legal.
You are right that strings cannot be broken across end-of-lines
without changing them to multiple strings to be concatenated, but
snipping away all context only works for people using toys like
google groups to read newsgroups.



I would say that any newsreader which is

*NOT*
displaying conversations in a threaded manner is in the "toy"
category.

That will teach me to post off-topic ¬_¬


However, someone might not have received the post that is being replied
to, or might have read it three weeks ago last Thursday and forgotten
it. So you can be using a decent news reader and still need the context.

Obviously I am not getting at you Chris, since you are quoting properly.
--
Flash Gordon
Sometimes I think shooting would be far too good for some people.
Although my email address says spam, it is real and I read it.
Nov 14 '05 #9
S.Tobias wrote:
Jason Curl <j_****************************@foo.bar> wrote:
[snip]
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything. There is no standard new-line character. That is OS-dependent.

Nov 14 '05 #10
Robert Harris <ro*****************@blueyonder.co.uk> wrote:
S.Tobias wrote:
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.

There is no standard new-line character. That is OS-dependent.


I agree, but:
# 5.2.1 Character sets
# [#3] [...] In source files, there shall be some way
# of indicating the end of each line of text; this
# International Standard treats such an end-of-line indicator
# as if it were a single new-line character.
I asked my question in above context.

--
Stan Tobias
sed 's/[A-Z]//g' to email
Nov 14 '05 #11
In article <KG*********************@fe2.news.blueyonder.co.uk >,
Robert Harris <ro*****************@blueyonder.co.uk> wrote:
S.Tobias wrote:
Jason Curl <j_****************************@foo.bar> wrote:
[snip]
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.

There is no standard new-line character. That is OS-dependent.


Not the reason, since it would be trivial to define `appropriate
representation of end-of-line in source file' to be mapped to '\n'
if it's encountered inside a string.

My first guess would be that it makes tokenizing and/or preprocessing
harder than it would be otherwise, but (never having written a lexer or
preprocessor for C) I can't say for sure that this is it.

It also has the potential to make source code harder to read, with no
real benefits. (C isn't exactly optimized for readibility, but most of
the potential readability problems do in fact have some other benefit
to go along with it.)
dave

--
Dave Vandervies dj******@csclub.uwaterloo.ca
Unnecessary casts are the tool of evil (and of C++ programmers, but I
repeat myself).
--Richard Bos in comp.lang.c
Nov 14 '05 #12
"S.Tobias" <sN*******@amu.edu.pl> writes:
[...]
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


The reader's patience, perhaps.

Allowing embedded newlines in string literals would make it difficult
or impossible to tell how many trailing blanks there are before the
newline. It would cause string literals to be the only kind of token
that can cross line boundaries. And given that adjacent string
literals are catenated and a newline can be represented as "\n",
there's absolutely no need for it.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #13
In <KG*********************@fe2.news.blueyonder.co.uk > Robert Harris <ro*****************@blueyonder.co.uk> writes:
S.Tobias wrote:
Jason Curl <j_****************************@foo.bar> wrote:
[snip]
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.
There is no standard new-line character. That is OS-dependent.


What makes you think that a standard newline character, the same on all
platforms, would be needed for supporting this feature? After all, each
compiler must be able to tell the end of each line, otherwise it
couldn't handle the \<newline> sequence properly, as well as the
preprocessing directives, that are newline terminated.

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Currently looking for a job in the European Union
Nov 14 '05 #14
On Wed, 27 Oct 2004 13:48:26 GMT
Robert Harris <ro*****************@blueyonder.co.uk> wrote:
S.Tobias wrote:
Jason Curl <j_****************************@foo.bar> wrote:
[snip]
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.

There is no standard new-line character. That is OS-dependent.


There is within C with appropriate translations being performed
automatically by the implementation on reading/writing text streams.
--
Flash Gordon
Sometimes I think shooting would be far too good for some people.
Although my email address says spam, it is real and I read it.
Nov 14 '05 #15
In <2u*************@uni-berlin.de> "S.Tobias" <sN*******@amu.edu.pl> writes:
Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Imagine what would happen if you forgot to close a string literal.

It's nice to have a syntax that allows the compiler to diagnose as many
errors as possible on the source code line where they do occur. From
this point of view, C already has a problem with unclosed comments and
mismatched braces. Even a missing semicolon may generate a puzzling
diagnostic. No need to extend the list by adding features with little to
no redeeming merits.

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Currently looking for a job in the European Union
Nov 14 '05 #16

In article <cl**********@pump1.york.ac.uk>, chris <ca*@cs.york.ac.uk> writes:
chris wrote:
Martin Ambuhl wrote:
Abhilash wrote:

It is not legal.

You are right that strings cannot be broken across end-of-lines
without changing them to multiple strings to be concatenated, but
snipping away all context only works for people using toys like google
groups to read newsgroups.


I would say that any newsreader which is

*NOT*
displaying conversations in a threaded manner is in the "toy" category.


And I'd say you're wrong. There are excellent reasons not to display
Usenet posts in a threaded manner. For one, threading requires
downloading the headers (at least the Subject and References headers)
of all the available unread messages for a group; where bandwidth is
constrained, that would be a poor approach.

Not all Usenet participants want to see a threaded display. The
user agent I'm using - xrn - does threading, but I have it disabled.
xrn's sorted-subject mode suffices for my needs.

Further, Martin's advice accords with the most recent IETF drafts for
updating RFC 1036, so clearly there's some consensus, among people
who care enough about the subject to attend to the development of
relevant standards, that removing all context is the wrong thing to
do.

--
Michael Wojcik mi************@microfocus.com

You have Sun saying, "Who needs Linux? We have Solaris." You have
Microsoft saying, "Who needs Linux? We have Windows 2000." Then you
have IBM saying, "I think we all need Linux." Only the greatest
sinners know how to really repent. -- John Patrick, IBM VP
Nov 14 '05 #17

In article <2u*************@uni-berlin.de>, "S.Tobias" <sN*******@amu.edu.pl> writes:

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Allow string literals to extend across lines.

Begin a string literal on line N. Omit the closing quote character.
Where does that literal end? At the next quote character in the
file, regardless of where it occurs.

Now, as soon as you accidentally leave off the closing quote from
a string literal, you invert what's a string literal and what's
not, for the remainder of the source file:

char *foo = "whoops; /* one string */
char *bar = "something else";

Here, if string literals were allowed to continue past the end of
the line, foo would point to a string beginning with "whoops;" and
ending with "bar = ". "something else" would not be a string
literal, and so forth.

The resulting diagnostics are likely to be ugly, and in some
circumstances quite confusing.

Since it's trivial to construct multiline string literals correctly
(through string-literal concatenation), there's nothing to be gained
by letting them extend across lines.

--
Michael Wojcik mi************@microfocus.com

Memory, I realize, can be an unreliable thing; often it is heavily coloured
by the circumstances in which one remembers, and no doubt this applies to
certain of the recollections I have gathered here. -- Kazuo Ishiguro
Nov 14 '05 #18
Martin Ambuhl wrote:

Abhilash wrote:
It is not legal.

You are right that strings cannot be broken across
end-of-lines without changing them to multiple strings
to be concatenated,


#include <stdio.h>\

int main(void)\
{\
puts("\
Strings \
can be broken across lines of source code,\n\
if a backslash \
is placed at the line break.\
");\
return 0;\
}\
but snipping away
all context only works for people using toys like google
groups to read newsgroups.


--
pete
Nov 14 '05 #19
S.Tobias wrote:

Jason Curl <j_****************************@foo.bar> wrote:
For example:

printf("Hello World
\n");

instead of what I normally use

printf("Hello World"
"\n");


I have seen such code and believe that:
"A
B"
is equivalent to:
"A\nB"
so in your example:
printf("Hello World
\n");
should actually equal:
printf("Hello World\n \n");
(note two'\n's and spaces between them).

As an aside:
"A
B
C"
could be easily converted to proper form by appending '\\'s:
"A\n\
B\n\
C"
(the "concatenation" is managed by the preprocessor).

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Everybody else but me seems to know what you're talking about.
Are you saying that "\n\n\n" isn't OK?

--
pete
Nov 14 '05 #20
In article <41***********@mindspring.com>,
pete <pf*****@mindspring.com> wrote:
S.Tobias wrote:

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Everybody else but me seems to know what you're talking about.
Are you saying that "\n\n\n" isn't OK?


No, that would be `embedded newlines [represented by the `\n' escape]
inside strings [represented by string literals]'.

He's talking about a (unescaped) newline (not the `\n' escape representing
the newline character) in the source representation of a string literal,
like this:
char *str="string literal with a
newline in the middle"
dave

--
Dave Vandervies dj******@csclub.uwaterloo.ca
[i]n some circles having a degree does not make you superior to those
around you; it merely makes you a bit less inferior.
--Giles Malet in uw.general
Nov 14 '05 #21
In article <41***********@mindspring.com>, pete says...

S.Tobias wrote:

Jason Curl <j_****************************@foo.bar> wrote:
> For example:
> printf("Hello World
> \n");

> instead of what I normally use

> printf("Hello World"
> "\n");


I have seen such code
But this code is _different_ from what you propose: the above code works because
of C's string literal concatenation. The whitespace between the closing " of
"Hellow World" and the opening quote of '"\n" is IGNORED.
and believe that:
"A
B"
is equivalent to:
"A\nB"


No. In ANSI C, "A
B" is not allowed. To get a newline in the string, use "A\nB".
so in your example:
printf("Hello World
\n");
should actually equal:
printf("Hello World\n \n");
(note two'\n's and spaces between them).
No, it should not even compile: you should get an error message reading much
like, "error: newline in constant".

As an aside:
"A
B
C"
could be easily converted to proper form by appending '\\'s:
"A\n\
B\n\
C"
(the "concatenation" is managed by the preprocessor).

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Everybody else but me seems to know what you're talking about.
Are you saying that "\n\n\n" isn't OK?


Of _course_ it is OK. I use constructs like printf("\n\nMake lots of space");
all the time. It is the ASCII CR that cannot be embedded in a string literal.
That is, you cannot write the following line(s):

BogusStr = "This string has impossible CR in
itself";

Instead, to achieve the effect you want, you use the ANSI escape sequence and
write:
BogusNoMoreStr = "This string has possible carriage return\nin itself";

Nov 14 '05 #22
On Tue, 26 Oct 2004 18:44:45 +0200,
Jason Curl <j_****************************@foo.bar> wrote:
Hello,

Is it legal to have a non-quote terminated string in C?

For example:

printf("Hello World
\n");

instead of what I normally use

printf("Hello World"
"\n");

I had believed not, but some compilers seem to allow this. Just want to
be sure if this is a problem with my Compiler, or if it really is
allowed. <ot> does anyone know of compilers that allow this? </ot>


gcc 3.2.2 allows this, but gives a warning:

#include <stdio.h>

int main() {
printf("Hello world
<-- That's a newline!\n");
return 0;
}

~/prog/c$ gcc embedded-newline.c -o embedded-newline
embedded-newline.c:4:16: warning: multi-line string literals are deprecated
~/prog/c$ ./embedded-newline
Hello world
<-- That's a newline!
~/prog/c$

Jason Creighton
Nov 14 '05 #23
Dave Vandervies wrote:

In article <41***********@mindspring.com>,
pete <pf*****@mindspring.com> wrote:
S.Tobias wrote:

Does anybody know the reason why the Standard does not allow
embedded new-lines inside string literals? I don't see how
it could break anything.


Everybody else but me seems to know what you're talking about.
Are you saying that "\n\n\n" isn't OK?


No, that would be `embedded newlines [represented by the `\n' escape]
inside strings [represented by string literals]'.

He's talking about a (unescaped) newline
(not the `\n' escape representing the newline character)
in the source representation of a string literal,
like this:
char *str="string literal with a
newline in the middle"


Thank you.

--
pete
Nov 14 '05 #24
In <20*******************************@softhome.net.re move.to.reply> Jason Creighton <an*******@softhome.net.remove.to.reply> writes:
gcc 3.2.2 allows this, but gives a warning:

#include <stdio.h>

int main() {
printf("Hello world
<-- That's a newline!\n");
return 0;
}

~/prog/c$ gcc embedded-newline.c -o embedded-newline
embedded-newline.c:4:16: warning: multi-line string literals are deprecated


While gcc 3.3.3 is completely confused by your code:

fangorn:~/tmp 211> cat test.c
#include <stdio.h>

int main() {
printf("Hello world
<-- That's a newline!\n");
return 0;
}

fangorn:~/tmp 212> gcc test.c
test.c:4:16: missing terminating " character
test.c:5:9: missing terminating ' character
test.c:5:9: warning: character constant too long for its type
test.c: In function `main':
test.c:5: error: `That' undeclared (first use in this function)
test.c:5: error: (Each undeclared identifier is reported only once
test.c:5: error: for each function it appears in.)
test.c:5: error: parse error before '\xa22293b'

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Currently looking for a job in the European Union
Nov 14 '05 #25
mw*****@newsguy.com (Michael Wojcik) writes:
[...]
Allow string literals to extend across lines.

Begin a string literal on line N. Omit the closing quote character.
Where does that literal end? At the next quote character in the
file, regardless of where it occurs.

Now, as soon as you accidentally leave off the closing quote from
a string literal, you invert what's a string literal and what's
not, for the remainder of the source file:

char *foo = "whoops; /* one string */
char *bar = "something else";

Here, if string literals were allowed to continue past the end of
the line, foo would point to a string beginning with "whoops;" and
ending with "bar = ". "something else" would not be a string
literal, and so forth.

The resulting diagnostics are likely to be ugly, and in some
circumstances quite confusing.


Perl allows multi-line string literals. If you forget to close one,
you'll get an error message on the next line that has a quotation
mark, but it will generally say something like:

Backslash found where operator expected at foo line 8, near "print "\"
(Might be a runaway multi-line "" string starting on line 5)

So *if* C allowed multi-line string literals, it would be possible to
produce reasonable diagnostics, at least in most cases.

This is not an argument in favor of allowing them, just an observation.

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #26
Matthew Johnson <me*****@onebox.com> writes:
[...]
Of _course_ it is OK. I use constructs like printf("\n\nMake lots of space");
all the time. It is the ASCII CR that cannot be embedded in a string literal.
That is, you cannot write the following line(s):

BogusStr = "This string has impossible CR in
itself";

Instead, to achieve the effect you want, you use the ANSI escape sequence and
write:
BogusNoMoreStr = "This string has possible carriage return\nin itself";


A quibble: end-of-line is not typically marked with an ASCII CR
character. Most systems use either LF or a CR-LF pair. (Using CR
would be perfectly legal, it's just uncommon; I think older MacOS
systems do this.)

--
Keith Thompson (The_Other_Keith) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Nov 14 '05 #27
In article <ln************@nuthaus.mib.org>, Keith Thompson says...

Matthew Johnson <me*****@onebox.com> writes:
[...]
Of _course_ it is OK. I use constructs like printf("\n\nMake lots of space");
all the time. It is the ASCII CR that cannot be embedded in a string literal.
That is, you cannot write the following line(s):

BogusStr = "This string has impossible CR in
itself";

Instead, to achieve the effect you want, you use the ANSI escape sequence and
write:
BogusNoMoreStr = "This string has possible carriage return\nin itself";
A quibble: end-of-line is not typically marked with an ASCII CR
character. Most systems use either LF or a CR-LF pair. (Using CR
would be perfectly legal, it's just uncommon; I think older MacOS
systems do this.)


"Older", you say? As late as System 8 they were doing it. And I do know people
who are running System 7.

But I had forgotten about that. I was just using CR to mean 'carriage return',
which was somewhat imprecise. Neither LF nor CR nor the combination is allowed
-- nor would it be a good idea if they were allowed.

Hopefully, by now, the OP will realize the difference between embedding CR or LF
and concatenating strings.


Nov 14 '05 #28
Matthew Johnson wrote:
In article <ln************@nuthaus.mib.org>, Keith Thompson says...
Matthew Johnson <me*****@onebox.com> writes:
[...]
Of _course_ it is OK. I use constructs like printf("\n\nMake lots of space");
all the time. It is the ASCII CR that cannot be embedded in a string literal.
That is, you cannot write the following line(s):

BogusStr = "This string has impossible CR in
itself";

Instead, to achieve the effect you want, you use the ANSI escape sequence and
write:
BogusNoMoreStr = "This string has possible carriage return\nin itself";


A quibble: end-of-line is not typically marked with an ASCII CR
character. Most systems use either LF or a CR-LF pair. (Using CR
would be perfectly legal, it's just uncommon; I think older MacOS
systems do this.)

"Older", you say? As late as System 8 they were doing it. And I do know people
who are running System 7.

But I had forgotten about that. I was just using CR to mean 'carriage return',
which was somewhat imprecise. Neither LF nor CR nor the combination is allowed
-- nor would it be a good idea if they were allowed.

Hopefully, by now, the OP will realize the difference between embedding CR or LF
and concatenating strings.

Our problem was exactly that: modifying the source using a Unix editor
or a Windows editor would result in a (nearly) non-visible change in
source that broke compatibility with an external device over a serial port.
Nov 14 '05 #29
In <ln************@nuthaus.mib.org> Keith Thompson <ks***@mib.org> writes:
mw*****@newsguy.com (Michael Wojcik) writes:
[...]
Allow string literals to extend across lines.

Begin a string literal on line N. Omit the closing quote character.
Where does that literal end? At the next quote character in the
file, regardless of where it occurs.

Now, as soon as you accidentally leave off the closing quote from
a string literal, you invert what's a string literal and what's
not, for the remainder of the source file:

char *foo = "whoops; /* one string */
char *bar = "something else";

Here, if string literals were allowed to continue past the end of
the line, foo would point to a string beginning with "whoops;" and
ending with "bar = ". "something else" would not be a string
literal, and so forth.

The resulting diagnostics are likely to be ugly, and in some
circumstances quite confusing.


Perl allows multi-line string literals. If you forget to close one,
you'll get an error message on the next line that has a quotation
mark, but it will generally say something like:

Backslash found where operator expected at foo line 8, near "print "\"
(Might be a runaway multi-line "" string starting on line 5)

So *if* C allowed multi-line string literals, it would be possible to
produce reasonable diagnostics, at least in most cases.


OTOH, Perl generates far better diagnostics than the average C compiler...

Dan
--
Dan Pop
DESY Zeuthen, RZ group
Email: Da*****@ifh.de
Currently looking for a job in the European Union
Nov 14 '05 #30

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: bearophile | last post by:
Hello, here are a four more questions (or suggestions) for the language (probably people have already discussed some of/all such things: I've seen the contracts for Python:...
6
by: qwweeeit | last post by:
For a python code I am writing I need to remove all strings definitions from source and substitute them with a place-holder. To make clearer: line 45 sVar="this is the string assigned to sVar"...
7
by: Bleakcabal | last post by:
Keep in mind my program is written in C ( not C++ ). I have a function which takes two structs as parameters is supposed to put the values of the source struct in the destination struct. Only...
16
by: agay | last post by:
Hi, I would like to get feedback on a "switching on strings" utility: http://shum.huji.ac.il/~agay/sos Thanks a. agay
6
by: Broeisi | last post by:
Hello, I wrote the tiny progam below just to understand arrays and strings better. I have 2 questions about arrays and strings in C. 1. Why is it that when you want to assign a string to an...
12
by: Martin Drautzburg | last post by:
I would like to validate sql strings, which are spread all over the code, i.e. I run ("prepare") them against a database to see if it happy with the statements. Spelling errors in sql have been a...
3
by: Harry Strybos | last post by:
Hi All I have a really strange problem occurring in my application. When I read in the application settings for connection strings the following happens: Here are my connection string settings...
14
by: Karch | last post by:
I need to find the fastest way in terms of storage and searching to determine if a given string contains one of a member of a list of strings. So, think of it in terms of this: I have a string such...
2
by: Jean-Paul Calderone | last post by:
On Fri, 5 Sep 2008 14:24:16 -0500, Robert Dailey <rcdailey@gmail.comwrote: mystring = ( "This is a very long string that " "spans multiple lines and does " "not include line breaks or tabs "...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.