C++怎么让函数返回固定长度字符串,比如给“zhangsan"返回原字符串加上4各空格,给“lisi"返回"lisi"加6
#include
using namespace std;
char* str(char* s)
{
return s;
}
void main()
{
char s[100]={"123456"};
char *p=s;
p=str(s);
cout<<p<<endl;
}
给你现场写了一个超简单的代码
就好把"123456" 用函数返回到 用指针p指向,就ok了
有2中方法:一种是创建一个全局数组来保存,返回是返回这个数组,但是这个没有伸缩性还有一种方法就是在堆中申请内存就是用new操作符来分配一个数组,在返回回去,但是同时你要提供一个释放函数来释放这个动态数组
可以用C库的sprintf来进行格式化,如果一定要用C++,那也可以,示例代码:
#include <iostream>
#include <string>
#include <iomanip>
#include <sstream>
using namespace std;
//返回固定长度的字符串
//strSrc:源串
//iLen:字符串长度
//cFill:填充字符
string GetFixedWidthString(string strSrc, int iLen, char cFill)
{
stringstream strStream;
strStream<<setw(iLen)<<setfill(cFill)<<strSrc;
return strStream.str();
}
int main()
{
//以下测试返回固定长度为10,填充字符为空格
string strTmp = GetFixedWidthString("zhangsan", 10, ' ');
cout<<strTmp<<endl;
strTmp = GetFixedWidthString("lisi", 10, ' ');
cout<<strTmp<<endl;
return 0;
}
测试结果:
#include <iostream>
using namespace std;
#define SIZE 10
string FillBlank(string src)
{
if(src.size() > SIZE)return "Error";
string des(src);
des.append(SIZE - src.size(), ' ');
return des;
}
int main(int argc, char *argv[]){
cout<<FillBlank("Hello")<<";"<<endl;
cout<<FillBlank("Zhangsan")<<";"<<endl;
cout<<FillBlank("Lisi")<<";"<<endl;
return 0;
}
如果你只是想在打印是让打印格式输出好看一些,那大可不必这么麻烦
printf("%-12s",str);
-号:左对齐输出
12:总共打印出12个字符的宽度
C语言如何让一个函数返回多个值
在C语言中,一般情况下函数的返回值是通过函数中的return语句来实现的,每调用一次return语句只能从函数中返回一个值,下面我们就来看看C语言怎么让一个函数返回多个值!1、全局变量传递 这种方式算是最不科学的规范,打破了软件开发需要的闭环策略,但在基本语法上是支持的,C语言里面最好少涉猎全局变量...
返回值是怎么设置的?
在函数中可以使用 return 来设置函数的返回值,return 后面的值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值。return 后面的值可以是任意类型,对象或函数等都可以作为返回值。function sum (a,b,c){ var total = a+b+c;return total; \/\/将一个基本类型变量作为返回值 } var...
使用什么语句可以返回函数值并退出函数
return语句。return语句可以为函数指定一个返回值,返回值可以是任何数据类型,使用return语句可以返回函数值并退出函数。函数的定义:给定一个数集A,对A施加对应法则f,记f(A),得到另一数集B,也就是B=f(A)。那么这个关系式就叫函数关系式,简称函数。
C++怎么实现函数返回
usingnamespacestd;intHaveFun(){ intSum=0;for(intvar=200;var<=300;var++){ boolisPrime=1;for(intfac=2;fac*fac<=var;fac++)if(!(var%fac))isPrime=0;if(isPrime)Sum+=var;} returnSum;} intmain(){ cout<<HaveFun()<<endl;return0;...
Vlookup函数怎么返回多个结果值?
一种方法是使用VLOOKUP函数结合数组公式来返回多个结果。以下是一个示例:1. 在你要匹配的列中,将VLOOKUP函数与数组公式一起使用。例如,假设你要根据姓名匹配多个结果,你的数据在A列(姓名)和B列(结果)。2. 在C列(匹配结果),输入以下公式:=VLOOKUP(A2,B:B,1,FALSE())这个公式的意思是...
excel中if函数的返回值怎么写?
if函数的返回值=IF(条件,条件成立返回结果,条件不成立返回结果)返回结果可以是数字(直接写入)、文本(用英文的双引号""括起来)、空值("")、公式(不含等号的公式)。假设需要if条件成立时,得到“mod(a1,3)”的值,则写为=if(条件,mod(a1,3),"")如果是要得到一个不会计算的公式,那...
怎么用vlookup函数返回多个值?
Excel中vlookup函数查询一个值返回多个值的方法如下:在原始数据中A列有多个“张三丰”,需要提取每个“张三丰”对应的“工号”。一般情况的VLOOKUP只能返回第一个值,如下:=VLOOKUP(A8,A1:D5,2,0)在【姓名】列前插入一列,如下图输入公式:=COUNTIF(B$2:B2,B2)这个公式返回每个“姓名”从上到...
c语言一个函数返回多个值
方法一:设置全局变量 全局变量是在函数外部定义的全局变量,它不属于任何一个函数,其作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。当我们需要函数返回多个值时,除了函数体中的return语句返回其中一个之外,其它的返回值我们可以通过定义全局变量来处理。...
c语言中调用函数如何返回多个值?
1、通过使用指针,在函数调用时,传递带有地址的参数,并使用指针更改其值;这样,修改后的值就会变成原始参数。2、通过使用指针返回结果为:3、通过使用结构:因为结构是用户定义的数据类型;可以定义一个包含两个整数变量的结构,并将更大和更小的值存储到这些变量中,然后使用该结构的值。4、通过使用...
excel中if函数若满足条件返回“是”,不满足条件无返回值怎么写
首先,确保你有一个Excel表格,选定你想要应用IF函数的单元格,比如B1,然后通过点击fx图标来插入函数。接下来,选择IF函数,这是关键步骤。在函数的参数框内,你需要明确设置你的条件。比如,如果想要当A1单元格的值等于1时返回“是”,那么在第一个参数位置输入“A1=1”。点击确定后,你会看到结果。
博凝小儿: #include <string.h>#include <iostream.h>/* 将字符串倒置 输入为字符串str; 返回字符串的地址*/ char* reverse(char *str) { char tmp; int i,n; if (str == NULL) { return 0; } n=strlen(str)-1; for(i=0;i<n;i++,n--) { tmp = str[i]; str[i] = str[n]; str[n] = tmp; } return ...
汾西县15029452365: 如何将数值格式化成固定长度的字符串 - ?
博凝小儿: c/c++ 语言 数值 转化为字符串 可以用 sprintf 函数实现.例如:int k=12; float f=34.567; double d=9.87654; char sk[20],sf[20],sd[20]; sprintf(sk,"%d",k); sprintf(sf,"%f",f); sprintf(sd,"%lf",d); 如果给定长宽, 小数点位数,左对齐还是右对齐,也可以用格式来设定.
汾西县15029452365: C++ 函数怎么返回string - ?
博凝小儿: 让一个函数返回字符串,让主函数接收使用,有几种方法:1.通过函数的参数指定一个指针,然后在函数体内对指针赋值. 如:char temp[10]; void func(char *t) {strcpy(t, "test"); } func(temp);即可2.通过返回值 如:char* func() {char *temp = new char[5];strcpy(temp, "test");return temp; }char *me=func();即可
汾西县15029452365: C++中创建一个函数,想让这个函数的返回值是一串字符. - ?
博凝小儿: 返回的时候要注意在函数里面要么动态分配内存(否则字符串局部变量返回是没有意义的,因为其生存周期已过就销毁),或者更简单的就是在代码前面就定义一个全局变量,然后返回的时候先给全局变量赋值再返回 另外就是根据一个日期判断星期几(实在是觉得蛋疼),windows的API函数不是用time(获取当前到距离1900年1月1日的秒数)以及localtime(将这个秒数转化为具体的一个时间结构体tm),还用enum完全没有意义,API函数里面星期定义是0代表星期天,0到6代表星期天到星期六,楼主可以用enum自己定义一个(意义不大),然后判断返回
汾西县15029452365: 比较字符串的长度要求返回长的那个字符串c++?
博凝小儿: 应该对你有帮助的!#include#includeusingnamespacestd;stringcmp(conststring&str1,conststring&str2){returnstr1.size()>str2.size()?str1:str2;}
汾西县15029452365: c++程序设计,以参数的方式输入一个字符串,返回该字符的串的长度! - ?
博凝小儿: 传入指向首字符的指针即可.#include<cstring> std::size_t getlength(const char* s) { return std::strlen(s); } 不用库函数的话,可以这样:int getlength(const char* s) { const char* t = s; while(*t != '\0') ++t; return t - s; } sizeof在编译期返回对象所占空...
汾西县15029452365: C++自定义的函数怎么返回一个字符串 或者字符数组呢 - ?
博凝小儿: 有2中方法:一种是创建一个全局数组来保存,返回是返回这个数组,但是这个没有伸缩性还有一种方法就是在堆中申请内存就是用new操作符来分配一个数组,在返回回去,但是同时你要提供一个释放函数来释放这个动态数组
汾西县15029452365: c++中如何实现从文档中读取指定长度的字符串然后存储到变量中,比方说有 user:zzz passw - ?
博凝小儿: 每次读取一行,就是读取文档内容时候遇到换行符(\r\n)就停止;把读取的内容进行分析,以冒号 :为界限,冒号之前如果是user,就把冒号后边的字符串存到user中,如果冒号前是password,就把冒号后边内容存到password中.这是最基础的思想,判定的方法有多种,比如你判定冒号前内容时候,如果冒号前的内容只有user和password这两种,完全可以按长度来判定,这样要比判定这前面是什么字符串简单.如果你会用CString 那就可以忽略,CString的功能足够强大到你随便对比,拆分一个字符串.
汾西县15029452365: fgets()函数怎样用C++实现? - ?
博凝小儿: #include <fstream> #define BUFLEN 256 static char lineBuf[BUFLEN];ifstream file_in("source 文件的位置",ios::in); file_in.getline(lineBuf,BUFLEN,'\n');这个函数意思是读入BUFLEN个字节到lineBuf,如果在读入BUFLEN个字节之前,遇上了换行符(这个换行符可以换成你想中止读入的字符,如变成'A',则在读入 A之前会中止,默认情况是'\n';
汾西县15029452365: c++代码如何键入并控制一串字符串长度+ - ?
博凝小儿: 判断字符串 strlen() 长度,如果超过你定义的长度,就截取你输入的字符串就行