gpt4 book ai didi

c - Linux/C : Writing command-line arguments to a text file as separate lines?

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:00 24 4
gpt4 key购买 nike

我制作了一个简单的程序,它从命令行读取输入,将其保存到文本文件,然后读取并打印文本文件。

所以我一直在尝试修改它,这样它就不会将参数保存为一大行字符串,而是将每个参数保存为文本文件中的一行。

我的代码:

#include <stdio.h>

int main(int argc, char *argv[])
{
FILE *filePointer;
filePointer= fopen("number.txt","w");

if(argc == 1)
{
printf("give at least one number!\n");
}

for(int i = 1; i < argc; i++)
{
fprintf(filePointer, argv[i]);
}
fclose(filePointer);

char readBuffer[100] = " ";

filePointer= fopen("number.txt","r");
while(fgets(readBuffer,sizeof(readBuffer),filePointer))
{
printf("\nNumber: %s\n", readBuffer);
}
fclose(filePointer);
}

所以当用两个参数调用程序时:./code 12345678 9101213

而不是这个:

number: 12345678910111213

我会得到这个:

number: 12345678
number: 910111213

最佳答案

在将行保存到文件时,您应该将“\n”添加到 argv[i]。像这样的东西:

for(i = 1; i < argc; i++)
{
fprintf(filePointer, "%s\n", argv[i]);
}

关于c - Linux/C : Writing command-line arguments to a text file as separate lines?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43045438/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com