关于c语言数组 如何在一个数组尾部添加新的元素?需要建立一个新的数组吗?

关于c语言数组 如何在一个数组尾部添加新的元素?需要建立一个新的数组吗?,第1张

插入元素必须需要数组元素要比元素个数多,给出如下例:

#include <iostream>

using namespace std

int main()

{

    int arr[100]//声明数组;

    int n

    cout<<"请输入元素的个数:"

    cin>>n//有多少个数组元素

    cout<<"请输入元素:"

    for(int i=0i<ni++)

    {

        cin>>arr[i]

    }

    sort(arr,arr+n)//对数组进行从小到大排序

    cout<<"请输入要插入的元素"<<endl

    cin>>arr[n]

    sort(arr,arr+n+1)//对插入的元素进行从小到大排序

    cout<<"排序后的元素:"

    for(int i=0i<ni++)

    {

        cout<<arr[i]<<" "

    }

    cout<<arr[n]<<endl

    return 0

}

c语言中通过"="运算符来实现赋值,有时候也用它来进行初始化,在c语言中初始化和赋值是完全两个不同的概念。比如下面的代码:

int a[10] = {0}//这是初始化

a[0] = 10//这是赋值初始化是一个顺序点,编译器保证每一个顺序点都执行完成后,才会执行顺序点后面的语句。换句话说,上面的代码虽然只将a[0]初始化为0,但是编译器会将a[1]~a[9]的元素都初始化为0后,才会执行a[0]

=

10的语句。

1、可以使用fseek()来指定文件位置。

函数原型:int fseek(FILE *stream, long offset, int fromwhere)

函数说明:函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值:如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置,函数返回一个非0值。

2、例程:向test.txt的末尾添加“this is a text"的字符串。

  #include <stdio.h>

#include <string.h>

int main()

{

const char * szwrite = " this is a text"

FILE *fp = fopen("test.txt", "a+")

if (fp==0) {

printf("can't open file\n")

return 0

}

fseek(fp, 0,SEEK_END)

fwrite(szwrite, strlen(szwrite) * sizeof(char), 1, fp)

fclose(fp)

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/8016231.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存