// Diego Martinez CSC5 Chapter 10, P.588,#1
/*******************************************************************************
* DISPLAY STRING LENGTH
* ______________________________________________________________________________
* This program asks the user to enter a string. A function is used to count
* the number of characters in the C-string and return the length of the string.
*
* Computation is based on the Formula:
*
* length = number of characters before the null terminator ('\0')
*
* ______________________________________________________________________________
* INPUT
*
* User string
*
* OUTPUT
*
* Length of the string
*
*******************************************************************************/
#include <iostream>
#include <cstring>
using namespace std;
// Function prototype
int stringLength(const char *);
int main()
{
// Variable declaration
char userString[100];
int length;
// User input
cout << "Enter a string: ";
cin.getline(userString, 100);
// Function call
length = stringLength(userString);
// Output result
cout << "The length of the string is: " << length << endl;
return 0;
}
// Function definition
int stringLength(const char *str)
{
int count = 0;
// Count characters until null terminator
while (*(str + count) != '\0')
{
count++;
}
return count;
}
Ly8gRGllZ28gTWFydGluZXogICAgICAgICAgICAgICAgICAgICAgICAgQ1NDNSAgICAgICAgICAgICAgQ2hhcHRlciAxMCwgUC41ODgsIzEKLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKiBESVNQTEFZIFNUUklORyBMRU5HVEgKKiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KKiBUaGlzIHByb2dyYW0gYXNrcyB0aGUgdXNlciB0byBlbnRlciBhIHN0cmluZy4gQSBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvdW50CiogdGhlIG51bWJlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBDLXN0cmluZyBhbmQgcmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZy4KKgoqIENvbXB1dGF0aW9uIGlzIGJhc2VkIG9uIHRoZSBGb3JtdWxhOgoqCiogICAgICBsZW5ndGggPSBudW1iZXIgb2YgY2hhcmFjdGVycyBiZWZvcmUgdGhlIG51bGwgdGVybWluYXRvciAoJ1wwJykKKgoqIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwoqIElOUFVUCioKKiAgICAgIFVzZXIgc3RyaW5nCioKKiBPVVRQVVQKKgoqICAgICAgTGVuZ3RoIG9mIHRoZSBzdHJpbmcKKgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwoKI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIEZ1bmN0aW9uIHByb3RvdHlwZQppbnQgc3RyaW5nTGVuZ3RoKGNvbnN0IGNoYXIgKik7CgppbnQgbWFpbigpCnsKICAgIC8vIFZhcmlhYmxlIGRlY2xhcmF0aW9uCiAgICBjaGFyIHVzZXJTdHJpbmdbMTAwXTsKICAgIGludCBsZW5ndGg7CgogICAgLy8gVXNlciBpbnB1dAogICAgY291dCA8PCAiRW50ZXIgYSBzdHJpbmc6ICI7CiAgICBjaW4uZ2V0bGluZSh1c2VyU3RyaW5nLCAxMDApOwoKICAgIC8vIEZ1bmN0aW9uIGNhbGwKICAgIGxlbmd0aCA9IHN0cmluZ0xlbmd0aCh1c2VyU3RyaW5nKTsKCiAgICAvLyBPdXRwdXQgcmVzdWx0CiAgICBjb3V0IDw8ICJUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgaXM6ICIgPDwgbGVuZ3RoIDw8IGVuZGw7CgogICAgcmV0dXJuIDA7Cn0KCi8vIEZ1bmN0aW9uIGRlZmluaXRpb24KaW50IHN0cmluZ0xlbmd0aChjb25zdCBjaGFyICpzdHIpCnsKICAgIGludCBjb3VudCA9IDA7CgogICAgLy8gQ291bnQgY2hhcmFjdGVycyB1bnRpbCBudWxsIHRlcm1pbmF0b3IKICAgIHdoaWxlICgqKHN0ciArIGNvdW50KSAhPSAnXDAnKQogICAgewogICAgICAgIGNvdW50Kys7CiAgICB9CgogICAgcmV0dXJuIGNvdW50Owp9