我试图做一个快速的功能,在其数字的字符串得到一个字/参数:将char添加到C中的char *?
char* arg(char* S, int Num) {
char* Return = "";
int Spaces = 0;
int i = 0;
for (i; i<strlen(S); i++) {
if (S[i] == ' ') {
Spaces++;
}
else if (Spaces == Num) {
//Want to append S[i] to Return here.
}
else if (Spaces > Num) {
return Return;
}
}
printf("%s-\n", Return);
return Return;
}
我不能找到一个办法把字符转换成Return
。我发现了很多帖子,暗示strcat()
或技巧与指针,但每一个段错误。我也看到有人说应该使用malloc()
,但我不确定我是如何在这样的循环中使用它的。
'Return'是一个临时的。当它超出范围时(例如:返回时),它将会消失,除非你首先使用'malloc'。 – netcoder
@ 0xC0000022L但这个问题被标记为“C”,而不是“C++”。 – cnicutar
+1因为我相信这是一个很好的c学习示例 –