现在的位置: 首页 > 综合 > 正文

新手学习C++笔记1

2018年02月17日 ⁄ 综合 ⁄ 共 974字 ⁄ 字号 评论关闭

今天学习结构体这块调试中时出现这样的错错误:cpp(16): error C3861: “setw”: 找不到标识符。

程序如下:

#include<iostream>
using namespace std;
struct person
{
    char name[10];
    int age;
    char tel[16];
    char email[30];
};
struct person per;
int main(int argc,char*argv[])
{
    cout<<"输入用户姓名、年龄、电话、邮箱地址:"<<endl;
    cin>>per.name>>per.age>>per.tel>>per.email;
    cout.flags(ios::left);
    cout<<setw(14)<<"姓名"<<setw(6)<<"年龄"<<setw(20)
         <<"电话"<<setw(32)<<"邮箱地址"<<endl;
     cout<<setw(14)<<per.name<<setw(6)<<per.age<<setw(20)
         <<per.tel<<setw(32)<<per.email<<endl;
    return 0;
}

     最后想了很久发现原来掉了一个#include <iomanip>,将其放在#include<iostream>和using namespace std之间,至于为什么少了#include <iomanip>就会出现“setw"找不到标示符,上网查了一下关于#include <iomanip>的介绍如下:

#include <iomanip>
io代表输入输出,manip是manipulator(操纵器)的缩写(在c++上只能通过输入缩写才有效。)其作用主要是对cin,cout之类的一些操纵运算子,比如setfill,setw,setbase,setprecision等等。它是I/O流控制头文件,就像C里面的格式化输出一样。
setw( n ) 设域宽为n个字符这个控制符的意思是保证输出宽度为n。如:cout << setw( 3 ) << 1 << setw( 3 ) << 10 << setw( 3 ) << 100 << endl; 输出结果为_ _1_10100 (默认是右对齐)当输出长度大于3时(<<1000),setw(3)不起作用。setw(n)用法: 通俗地讲就是预设宽度如 cout<<setw(5)<<255<<endl;结果是255.


【上篇】
【下篇】

抱歉!评论已关闭.