C语言中字符串有一个结束符'\0',一个正常的字符串的最后一个字符都是'\0',在你定义一个常量字符串时就自动帮你加上去了,比如"abc"其实有4个字符{'a', 'b', 'c', '\0'},最后一个'\0'表示字符串到这就结束了,以防止内存读取越界,同时也以此来计算字符串
长度
,而不是再传一个int参数表示字符串的长度。因此a在内存中长度为6,但由于最后一个字符'\0'只是结束符,所有一般说长度时会忽略掉最后一个字符
stringh中提供了strlen函数可以方便地计算字符串的长度,不过注意strlen返回值的类型为size_t,x64下定义为uint64_t,x86下为uint32_t,所以记得进行类型转换
第一种:调用C库函数strlen(头文件<stringh>)
#include <stdioh>
#include <stringh>
int main(int argc, char argv[])
{
char a = "\x12\x00\x11\x00\x00";
printf("%d\r\n", (int)strlen(a));
return 0;
}
第二种:手动计算长度
#include <stdioh>
int main(int argc, char argv[])
{
char a = "\x12\x00\x11\x00\x00";
char p = a;
while ('\0' != p)
{
p++;
}
printf("%d\r\n", (int)(p - a));
return 0;
}
在菜单栏依次点击:
Project->Settings->Debug下,Working directory和Program arguments,可实现你的要求。
或在VC的界面下,直接按Alt+F7,打开对话框来进行设置。
#include <stdioh>
#include <stringh>
int main(int argc, char argv[])
{
char set_leng[20] = {0};
if (strcmp(argv[1],"set_leng") == 0)
strcpy(set_leng, argv[2]);
//演示一下
printf("set_leng的值为%s\n", set_leng);}如图,左边代码,右边是命令
若是看不清楚请 右键->新窗口打开。望采纳。原文地址: