If I have fo开发者_开发百科r example the following statements:
char f_name[11];
std::cin.getline(f_name,10);
Does thia mean: * Declare a string with 11-characters wide? * Read the entered line and pass it as the value for "f_name"?
Thanks.
Yes, you are correct!
char f_name[11];
declares the array f_name with 11 elements.
std::cin.getline(f_name,10);
prompts for the value to be entered, which then stores it in f_name[11].
Yes, and no.
char f_name[11];
declares an array of char with 11 elements. It's not really a string - you could consider it a "C string" if it had a NUL ('\0') at the end (which it does not).
std::cin.getline(f_name, 10);
May or may not read the entire entered line, because it only reads up to 9 chars. You need not make the buffer larger than the value given to cin.getline.
Unless you have a specific reason not to, use std::getline to read a line in C++. An example below.
#include <string>
std::string line;
std::getline(std::cin, line);
加载中,请稍侯......
精彩评论