c/c++语言开发共享在C中将Char转换为String

如何将字符转换为C中的字符串。我目前正在使用c = fgetc(fp)返回一个字符。 但是我需要在strcpy中使用一个字符串

    为了回答这个问题,我没有读太多其他内容

     char str[2] = ""; /* gives {, } */ str[0] = fgetc(fp); 

    您可以在循环中使用第二行,使用char作为字符串来保留其他任何字符串操作。

    使用fgetc(fp)只能调用strcpy(buffer,c); 似乎不对。

    您可以自己构建此缓冲区:

     char buffer[MAX_SIZE_OF_MY_BUFFER]; int i = 0; char ch; while (i < MAX_SIZE_OF_MY_BUFFER - 1 && (ch = fgetc(fp)) != EOF) { buffer[i++] = ch; } buffer[i] = ''; // terminating character 

    请注意,这取决于您将读取少于MAX_SIZE_OF_MY_BUFFER字符的事实

    您可以执行许多给定的答案,但如果您只是想将其与strcpy一起使用,那么您可以执行以下操作:

     ... strcpy( ... , (char[2]) { (char) c, '' } ); ... 

    (char[2]) { (char) c, '' }部分将从字符c临时生成以null结尾的字符串。

    通过这种方式,您可以避免为手中已有的东西创建新变量,前提是您只需要一次单字符串

    像这样的代码应该工作:

     int i = 0; char string[256], c; while(i < 256 - 1 && (c = fgetc(fp) != EOF)) //Keep space for the final  { string[i++] = c; } string[i] = ''; 

    我用它来将char转换为字符串(例子):

     char c = 'A'; char str1[2] = {c , ''}; char str2[5] = ""; strcpy(str2,str1); 

    这是一个古老的问题,但我会说没有一个答案真的符合OP的问题。 他想要/需要做的就是:

     char c = std::fgetc(fp); std::strcpy(buffer, &c); 

    这里的相关方面是, strcpy()的第二个参数不需要是char数组/ c-string。 实际上,根本没有参数是char或char数组。 它们都是char指针:

     strcpy(char* dest, const char* src); 

    dest :非const char指针

    它的值必须是可写char数组元素的内存地址(之后至少还有一个元素)。

    src :一个const char指针

    它的值可以是单个char的地址,也可以是char数组中的元素的地址。 该数组必须在其余元素(以src开头)中包含特殊字符 ,以标记应复制的c字符串的结尾。

    仅供你在C中使用字符串数据类型。使用字符数组来存储值并对其进行操作。 将变量c更改为字符数组,并在循环内使用它来获取值。

     char c[10]; int i=0; while(i!=10) { c[i]=fgetc(fp); i++; } 

    另一种方法是使用指针并动态分配内存并分配值。

     //example char character;//to be scanned char merge[2];// this is just temporary array to merge with merge[0] = character; merge[1] = ''; //now you have changed it into a string 

    这是一个有效的例子:

     printf("-%s-", (char[2]){'A', 0}); 

    这将显示-A-

    需要了解更多c/c++开发分享在C中将Char转换为String,也可以关注C/ C++技术分享栏目---计算机技术网(www.ctvol.com)!

      以上就是c/c++开发分享在C中将Char转换为String相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/980243.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐