加载输入帮助 getline 并使用 sscanf
load input help getline and use sscanf
getline 读取输入并在 sscanf 的帮助下进一步修改它,如何以“某事某事”的形式在变量 st.m_Jmeno 中保留空格
while ( getline(&str, &capacity, stdin) != -1 )
{
sscanf(str,"%c %s %c %s", znak, st.m_Cislo,uvozovka, st.m_Jmeno);
...
您可以使用 %[
模式来获取行中的所有其他内容:
sscanf(str,"%c %s %c %[^\n]", &znak, st.m_Cislo,uvozovka, &tmp, st.m_Jmeno);
请注意,这(仍然)是危险的,因为如果输入太长,它可能会溢出任一字符串缓冲区。
getline 读取输入并在 sscanf 的帮助下进一步修改它,如何以“某事某事”的形式在变量 st.m_Jmeno 中保留空格
while ( getline(&str, &capacity, stdin) != -1 )
{
sscanf(str,"%c %s %c %s", znak, st.m_Cislo,uvozovka, st.m_Jmeno);
...
您可以使用 %[
模式来获取行中的所有其他内容:
sscanf(str,"%c %s %c %[^\n]", &znak, st.m_Cislo,uvozovka, &tmp, st.m_Jmeno);
请注意,这(仍然)是危险的,因为如果输入太长,它可能会溢出任一字符串缓冲区。