如何调用此类型的函数

时间:2014-03-31 19:22:07

标签: c++

  

/ *编写一个返回字符串长度(char *)的函数,不包括最终的NULL    character.It不应该使用任何标准库函数。你可以使用算术和   取消引用运算符,但不是索引运算符([])* /

#include "stdafx.h"
#include<iostream>

using namespace std;

int stringLength(const char * str) {

int length = 0;

 while (*(str + length) != '\0') {

 ++length;

    cout << length;

return length;

}

int _tmain(int argc, _TCHAR* argv[]){

stringLength({ 'a', 'b', 'c', '\0' });

return 0;
}

不知怎的,我觉得我没有在main函数中正确调用我的函数,但我不确定我该怎么做。调用此类函数的正确方法是什么? (对不起,如果这是一个愚蠢的问题:我是C ++的新手)

2 个答案:

答案 0 :(得分:1)

赞:int l = stringLength("abc");

C常量字符串自动为零终止,因此您不需要指定额外的零字符。

答案 1 :(得分:1)

传递一个字符串。例如

int len = stringLength("abc");

FWIW,将size_t用于此函数的返回类型是不恰当的。当您尝试使用其他代码时,您会遇到使用int而不是size_t的阻力。

问题中的代码格式也很差,无法编译。你省略了一个右大括号。获得这种细节恰到好处是值得的。