strtoint [英] strtoint
问题描述
这个功能是否存在于c?任何等价物?将字符串转换为
整数?
如何将数组转换为字符串
示例
char arr ['''',''b'',''c''];
char * arr2;
我如何制作arr2 = arr?
does this function exist in c? on any equivalent? that convert string to
integer?
how do I convert a array to a "string"
example
char arr[''a'',''b'',''c''];
char *arr2;
how can I make arr2 = arr ?
推荐答案
Profetas于25/07/04写道:
Profetas wrote on 25/07/04 :
这个功能在c中存在吗?任何等价物?将字符串转换为
整数?
如何将数组转换为字符串
示例
char arr [''a'''''公元前''];
这不是C.
char arr [] = {'''',''b'',''c ''};
但它不是一个字符串。
char * arr2;
如何制作arr2 = arr?
does this function exist in c? on any equivalent? that convert string to
integer?
how do I convert a array to a "string"
example
char arr[''a'',''b'',''c''];
This is not C.
char arr[] = {''a'',''b'',''c''};
But it''s not a string.
char *arr2;
how can I make arr2 = arr ?
arr2只是一个指针。你被允许指向数组f
char,但它不会成为一个字符串。
请记住在C中,''=''是做作运算符,'==''
是等于运算符(使用数值)
如果你想用char数组的caracters构建一个字符串,
你可以这样做:
/ *足够分配空间* /
size_t const len = sizeof arr;
char * arr2 = malloc(len + 1); / *< stdlib.h> * /
if(arr2!= NULL)
{
/ * make the string * /
* arr2 = 0;
strncat(arr2,arr,len);
< ...>
/ *完成后* /
免费(arr2),arr2 = NULL;
}
-
Emmanuel
C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
" C是一个尖锐的工具
arr2 is just a pointer. You are allowed to make it point to an array f
char, but it doesn''t make it a string.
Bare in mind that in C, ''='' is the affectation operator, and that ''==''
is the equal operator (works with numerical values)
If you want to build a string with the caracters of the array of char,
you can do this :
/* allocate room enough */
size_t const len = sizeof arr;
char *arr2 = malloc (len + 1); /* <stdlib.h> */
if (arr2 != NULL)
{
/* make the string */
*arr2 = 0;
strncat (arr2, arr, len);
<...>
/* when finished */
free (arr2), arr2 = NULL;
}
--
Emmanuel
The C-FAQ: http://www.eskimo.com/~scs/C-faq/faq.html
"C is a sharp tool"
Profetas写道:
Profetas wrote:
这个功能是否存在于c?任何等价物?将字符串转换为
整数?
如何将数组转换为字符串
示例
char arr [''a''''' b'',''c''];
char * arr2;
如何制作arr2 = arr?
does this function exist in c? on any equivalent? that convert string to
integer?
how do I convert a array to a "string"
example
char arr[''a'',''b'',''c''];
char *arr2;
how can I make arr2 = arr ?
我们这里有一个没有费心去查看最基本教科书的人的例子。
#include< stdio.h>
#include< stdlib.h>
#include< string.h>
int main(无效)
{
char arr [3] =" abc";
char * arr1,* arr2,* arr3,* arr4;
size_t i;
arr1 = arr;
printf(我设置了arr1 = arr。让我们检查:\ n;);
for(i = 0; i< sizeof arr; i ++)
printf(" arr [%lu] =%c,arr1 [%lu] =% c \ n",(unsigned long)我,
arr [i],(unsigned long)i,arr1 [i]);
putchar(''\\ \\ n'');
if(!(arr2 = mal loc(sizeof arr))){
fprintf(stderr,malloc for arr2失败了。 Quitting.\\\
;
退出(EXIT_FAILURE);
}
memcpy(arr2,arr,sizeof arr);
printf(我为arr2分配了空间,并将arr复制到了它。
让我们检查:\ n");
for(i = 0; i< sizeof arr; i ++)
printf(" arr [%lu] =%c,arr2 [%lu] =%c \ n",(unsigned long)我,
arr [i],(unsigned long)i,arr2 [i]);
putchar(''\ n'');
免费(arr2);
if(!(arr3 = malloc(1 + sizeof arr))){
fprintf(stderr,malloc for arr3 failed.Quitting.\ n);
退出(EXIT_FAILURE);
}
memcpy(arr3,arr,sizeof arr);
arr3 [sizeof arr] = 0;
printf("以上两者都没有string.\\\
"
"我为arr3分配了空间,并复制了arr
和终止0给它。\ n"" ;让我们检查:\ n ");
for(i = 0; i< sizeof arr; i ++)
printf(" arr [%lu] =%c,arr3 [% lu] =%c \ n",(unsigned long)i,
arr [i],(unsigned long)i,arr3 [i]);
printf (" arr3 = \"%s \" \ n",arr3);
putchar(''\ n'');
if(!(arr4 = malloc(1 + strlen(arr3)))){
fprintf(stderr,malloc for arr4 failed。 Quitting.\\\
;
退出(EXIT_FAILURE);
}
strcpy(arr4,arr3);
printf
(我为arr4分配了空间,并将字符串
" arr3复制到它。\ n""'让'检查:\ n");
printf(" arr3 = \"%s \",arr4 = \"%s \" \ n" ;,arr3,arr4);
putchar(''\ n'');
免费(arr3);
免费(arr4) );
返回0;
}
我设置了arr1 = arr。我们来检查:
arr [0] = a,arr1 [0] = a
arr [1] = b,arr1 [1] = b
arr [2] = c,arr1 [2] = c
我为arr2分配了空间,并将arr复制到它。
让我们检查:
arr [0] = a,arr2 [0] = a
arr [1] = b,arr2 [1] = b
arr [2] = c,arr2 [2] = c
在上述两种情况中我们都没有字符串。
我已经为arr3分配了空间,并复制了arr和终止0给它。
让我们检查:
arr [0] = a,arr3 [ 0] = a
arr [1] = b,arr3 [1] = b
arr [2] = c,arr3 [2] = c
arr3 =" abc"
我为arr4分配了空间,并将字符串arr3复制到它。
让我们检查一下:
arr3 =" abc",arr4 =" abc"
Here we have an example of someone who has not bothered to check even
the most elementary textbook.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char arr[3] = "abc";
char *arr1, *arr2, *arr3, *arr4;
size_t i;
arr1 = arr;
printf("I have set arr1=arr. Let''s check:\n");
for (i = 0; i < sizeof arr; i++)
printf("arr[%lu] = %c, arr1[%lu] = %c\n", (unsigned long) i,
arr[i], (unsigned long) i, arr1[i]);
putchar(''\n'');
if (!(arr2 = malloc(sizeof arr))) {
fprintf(stderr, "malloc for arr2 failed. Quitting.\n");
exit(EXIT_FAILURE);
}
memcpy(arr2, arr, sizeof arr);
printf("I have allocated space for arr2, and copied arr to it.\n"
"Let''s check:\n");
for (i = 0; i < sizeof arr; i++)
printf("arr[%lu] = %c, arr2[%lu] = %c\n", (unsigned long) i,
arr[i], (unsigned long) i, arr2[i]);
putchar(''\n'');
free(arr2);
if (!(arr3 = malloc(1 + sizeof arr))) {
fprintf(stderr, "malloc for arr3 failed. Quitting.\n");
exit(EXIT_FAILURE);
}
memcpy(arr3, arr, sizeof arr);
arr3[sizeof arr] = 0;
printf("In neither of the above do we have a string.\n"
"I have allocated space for arr3, and copied arr "
"and a terminating 0 to it.\n" "Let''s check:\n");
for (i = 0; i < sizeof arr; i++)
printf("arr[%lu] = %c, arr3[%lu] = %c\n", (unsigned long) i,
arr[i], (unsigned long) i, arr3[i]);
printf("arr3=\"%s\"\n", arr3);
putchar(''\n'');
if (!(arr4 = malloc(1 + strlen(arr3)))) {
fprintf(stderr, "malloc for arr4 failed. Quitting.\n");
exit(EXIT_FAILURE);
}
strcpy(arr4, arr3);
printf
("I have allocated space for arr4, and copied the string "
"arr3 to it.\n" "Let''s check:\n");
printf("arr3=\"%s\", arr4 = \"%s\"\n", arr3, arr4);
putchar(''\n'');
free(arr3);
free(arr4);
return 0;
}
I have set arr1=arr. Let''s check:
arr[0] = a, arr1[0] = a
arr[1] = b, arr1[1] = b
arr[2] = c, arr1[2] = c
I have allocated space for arr2, and copied arr to it.
Let''s check:
arr[0] = a, arr2[0] = a
arr[1] = b, arr2[1] = b
arr[2] = c, arr2[2] = c
In neither of the above do we have a string.
I have allocated space for arr3, and copied arr and a terminating 0 to it.
Let''s check:
arr[0] = a, arr3[0] = a
arr[1] = b, arr3[1] = b
arr[2] = c, arr3[2] = c
arr3="abc"
I have allocated space for arr4, and copied the string arr3 to it.
Let''s check:
arr3="abc", arr4 = "abc"
On Sun,2004年7月25日15:56 :54 -0400,Martin Ambuhl
< ma ***** @ earthlink.net>写道:
On Sun, 25 Jul 2004 15:56:54 -0400, Martin Ambuhl
<ma*****@earthlink.net> wrote:
Profetas写道:
Profetas wrote:
这个函数是否存在于c?任何等价物?将字符串转换为
整数?
如何将数组转换为字符串
示例
char arr [''a''''' b'',''c''];
char * arr2;
char arr [3] = {''a'',''b'',''c''},* arr2;
如何我可以制作arr2 = arr吗?
does this function exist in c? on any equivalent? that convert string to
integer?
how do I convert a array to a "string"
example
char arr[''a'',''b'',''c''];
char *arr2;
char arr[3]={ ''a'', ''b'', ''c''}, *arr2;
how can I make arr2 = arr ?
你可以赚到它
这里我们有一个例子,有人甚至没有费心去检查
最基本的教科书。
#include< stdio.h>
#include< stdlib.h>
#include< string.h>
int main(void)
{arr [3] =" abc";
you can make it
Here we have an example of someone who has not bothered to check even
the most elementary textbook.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char arr[3] = "abc";
这是对吗?
或者它更好吗?
char arr [] =" abc";
或者这个
char arr [4] =" ; ABC英寸; / * arr [4] == {a,b,c,0} * /
?
如果我写abc可执行文件中会有某个地方
'''''''''''''0?
Is this right?
or it is better this?
char arr[] = "abc";
or this
char arr[4]= "abc"; /* arr[4]=={a, b, c, 0}*/
?
If I write "abc" there will be somewhere in the executable
''a''''b''''c''0?
这篇关于strtoint的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!