AFAIK我们无法在C中更改常量变量的值.但我面对这个面试问题如下:
在C++中,我们有程序来改变常量变量的值.谁能告诉我怎么能这样做?
我需要在向量中存储ac字符串数组的元素.
基本上我需要将ac数组的所有元素复制到一个vector<std::string>.
#include<vector>
#include<conio.h>
#include<iostream>
using namespace std;
int main()
{
char *a[3]={"field1","field2","field3"};
//Some code here!!!!
vector<std::string>::const_iterator it=fields.begin();
for(;it!=fields.end();it++)
{
cout<<*it++<<endl;
}
getch();
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我把c数组元素存储到一个向量中吗?
编辑
这下面的代码是倾销核心!!请帮助
int main()
{
char *a[3]={"field1","field2","field3"};
std::vector<std::string> fields(a, a + 3);
vector<std::string>::const_iterator it=fields.begin();
for(;it!=fields.end();it++)
{
cout<<*it++<<endl;
}
getch();
}
Run Code Online (Sandbox Code Playgroud) 我在头文件中有简单的类:a.hh
#ifndef a_hh
#define a_hh
class a
{
public:
int i;
a()
{
i = 0;
}
};
#endif
Run Code Online (Sandbox Code Playgroud)
然后我有一个文件:b.cc
#include <iostream>
#include "a.hh"
using namespace std;
int main(int argc, char** argv)
{
a obj;
obj.i = 10;
cout << obj.i << endl;
return 0;
}
>
Run Code Online (Sandbox Code Playgroud)
直到这一点,一切都很好.我编译代码并编译好.但是只要我在课堂上添加一个矢量:
#ifndef a_hh
#define a_hh
class a
{
public:
int i;
vector < int > x;
a()
{
i = 0;
}
};
#endif
Run Code Online (Sandbox Code Playgroud)
我得到一个编译错误如下:
> CC b.cc
"a.hh", line 7: …Run Code Online (Sandbox Code Playgroud) 我先设置一个环境变量X.
> setenv X "abc 12_3 abc"
Run Code Online (Sandbox Code Playgroud)
然后我在perl中编写了一个正则表达式,尝试将第一列与空格匹配,剩下的字符串也是2美元.在这里我打印第一场比赛$ 1
> echo $X|perl -lne '$_=~m/([^\s]*[\s])(.*)/;print $1'
abc
Run Code Online (Sandbox Code Playgroud)
在这里我打印第二场比赛$ 2.
> echo $X | perl -lne '$_=~m/([^\s]*[\s])(.*)/;print $2'
12_3 abc
Run Code Online (Sandbox Code Playgroud)
直到现在看起来一切都还可以.现在我想把第二场比赛中的所有下划线替换为空格
> echo $X | perl -lne '$_=~m/([^\s]*[\s])(.*)/;$2=~s/_/ /g;'
Modification of a read-only value attempted at -e line 1, <> line 1.
Run Code Online (Sandbox Code Playgroud)
好的错误消息说2美元是只读的.好吧.所以我将$ 2复制到一些临时变量$ temp.因此,虽然复制它的罚款,$ 1和$ 2仍然存在,如下所示:
> echo $X | perl -lne '$_=~m/([^\s]*[\s])(.*)/;$temp=$2;print $1.$2'
abc 12_3 abc
Run Code Online (Sandbox Code Playgroud)
现在我尝试用临时字符串$ temp中的空格替换下划线.
> echo $X | perl -lne '$_=~m/([^\s]*[\s])(.*)/;$temp=$2;$temp=~s/_/ /g;print $1.$2'
>
Run Code Online (Sandbox Code Playgroud)
我的问题是$ 1和$ …
我收到错误SQL*Loader -606,这意味着:
SQL*Loader控制文件中的INTO TABLE子句中指定的同义词通过数据库链接指定远程对象.只能在INTO TABLE子句中指定现有本地表的同义词.
有没有什么办法可以使用SQL*Loader插入到远程表中?
我是unix的新手.我在使用unix查看大日志文件时遇到问题vi.你能否建议在unix上快速查看大文件的最佳工具?另外,你能发布自己在unix上查看大文件的方法吗?
在我工作的时候,我遇到了一个由其他人写的代码.我看到一个声明,
sprintf(o_params->o_file_name,
"%s_%s_%04.4d_%s_%s.ASC",
"OUTD", "RM", sequence_no, DateStamp_buf1, TimeStamp_buf1
);
Run Code Online (Sandbox Code Playgroud)
在上面的陈述中,我看到了%04.4d.这是一个正确的格式说明符吗?
变量sequence_no是static int,它没有小数.
我想知道如何在编译之前由预处理器扩展C文件之后如何查看C文件,其中所有宏值都放在函数内部的代码中.有办法吗?