C++怎么让函数返回固定长度字符串,比如给“zhangsan"返回原字符串加上4各空格,给“lisi"返回"lisi"加6

作者&投稿:犁利 (若有异议请与网页底部的电邮联系)
c++ 函数如何返回一段字符串啊 求简单代码~~

#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”。点击确定后,你会看到结果。

汾西县15029452365: 用c++设计一个函数,以参数方式输入一个字符串,返回该字符串的长度 -
博凝小儿: #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() 长度,如果超过你定义的长度,就截取你输入的字符串就行

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网