Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Looping through characters in a string

Posted on 2007-12-02
7
Medium Priority
?
1,607 Views
Last Modified: 2012-05-05
Hi all,
Trying to play a little bit with C programming.
I want to loop through the number of characters in a string.
My user will enter some string, and then I want to loop through the string and put the number characters in an int var.

I'm just having problem with the conditions of the loop statement.
 char = getchar();
  while (char!= '\n') {
...
...
}
The problem is that I'm getting an endless loop here.
How can this be solved?

Thank you!
0
Comment
Question by:nahumba
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
7 Comments
 
LVL 7

Expert Comment

by:UrosVidojevic
ID: 20392925
while (char!= 0)
0
 
LVL 7

Expert Comment

by:UrosVidojevic
ID: 20392929
Sorry, ignore this.
Next time I will read entire post :-)
0
 
LVL 53

Expert Comment

by:Infinity08
ID: 20392935
char is a reserved keyword in C - you can't use it as variable name.

I'd also suggest to use gets to read an entire line :

        http://www.cplusplus.com/reference/clibrary/cstdio/gets.html

and then strlen to get the length of the line :

        http://www.cplusplus.com/reference/clibrary/cstring/strlen.html
0
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 
LVL 30

Accepted Solution

by:
SteveGTR earned 2000 total points
ID: 20392941
You should be reading the characters in the loop.

Could do this:


char c;
int cnt=0;
 
while ((c=getchar()) != '\n')
  cnt++;

Open in new window

0
 

Author Comment

by:nahumba
ID: 20392943
I don't know why,
but I still get an endless loop...

For example:
right after my:
printf ("Enter some text here:  ");
the loop begins, but will never end.

0
 
LVL 53

Expert Comment

by:Infinity08
ID: 20392946
Can you show your complete code ? As well as the text you enter ?
0
 
LVL 30

Expert Comment

by:SteveGTR
ID: 20392961
Here's a nice example that does exactly what you want:

http://sole.infis.units.it/C/NewCcourse/subsubsection3_10_2_1.html
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use nested-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

660 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question