【例10.3】从键盘输入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

【例10.3】从键盘输入若干个字符串,对它们按字母大小的顺序排序,然后把排好序的字符串送到磁盘文件中保存。

例10.3写入字符串并输出:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	FILE *fp;
	char str[3][10],temp[10];
	int i,j,k,n=3;
	printf("Enter strings:\n");
	for(i=0;i<n;i++)
		gets(str[i]);
	
	for(i=0;i<n-1;i++)
	{
		k=i;
		for(j=i+1;j<n;j++)
		{
			if(strcmp(str[k],str[j])>0)
				k=j;
		}
		if(k!=i)
		{
			strcpy(temp,str[i]);
			strcpy(str[i],str[k]);
			strcpy(str[k],temp);
		}
	}
	if((fp=fopen("C:\\Users\\yuhao2\\Desktop\\例10.3\\string.dat","w"))==NULL)
	{
		printf("can't open file!\n");
		exit(0);
	}
	printf("\nThe new sequence:\n");
	for(i=0;i<n;i++)
	{
		fputs(str[i],fp);
		fputs("\n",fp);
		printf("%s\n",str[i]);
	}
	return 0;
}

在VS2019下,需将源文件的gets、strcpy、fopen做些修改:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	FILE* fp;
	char str[3][10], temp[10];
	int i, j, k, n = 3;
	printf("Enter strings:\n");
	for (i = 0; i < n; i++)
		gets_s(str[i], 10);

	for (i = 0; i < n - 1; i++)
	{
		k = i;
		for (j = i + 1; j < n; j++)
		{
			if (strcmp(str[k], str[j]) > 0)
				k = j;
		}
		if (k != i)
		{
			strcpy_s(temp, strlen(str[i]) + 1, str[i]);
			strcpy_s(str[i], strlen(str[k]) + 1, str[k]);
			strcpy_s(str[k], strlen(temp) + 1, temp);
		}
	}
	fopen_s(&fp, "C:\\Users\\yuhao\\Desktop\\例10.3\\string.dat", "w");
	if (fp == NULL)
	{
		printf("can't open file!\n");
		exit(0);
	}
	printf("\nThe new sequence:\n");
	for (i = 0; i < n; i++)
	{
		fputs(str[i], fp);
		fputs("\n", fp);
		printf("%s\n", str[i]);
	}
	return 0;
}

在这里插入图片描述

例10.3读回字符串:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	FILE *fp;
	char str[3][10];
	int i=0;
	if((fp=fopen("C:\\Users\\yuhao2\\Desktop\\例10.3\\string.dat","r"))==NULL)
	{
		printf("can't open file!\n");
		exit(0);
	}
	while(fgets(str[i],10,fp)!=NULL)
	{
		printf("%s",str[i]);
		i++;
	}
	fclose(fp);
	return 0;
}

在VS2019下,需将源文件的fopen做些修改:

#include<stdio.h>
#include<stdlib.h>

int main()
{
	FILE* fp;
	char str[3][10];
	int i = 0;
	fopen_s(&fp,"C:\\Users\\yuhao2\\Desktop\\例10.3\\string.dat", "r");
	if (fp== NULL)
	{
		printf("can't open file!\n");
		exit(0);
	}
	while (fgets(str[i], 10, fp) != NULL)
	{
		printf("%s", str[i]);
		i++;
	}
	fclose(fp);
	return 0;
}

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi 10.3是一种流行的集成开发环境(IDE),用于开发跨平台的应用程序。在Delphi 10.3,使用资源编译器(RC)字符串来实现多语言支持。 RC字符串是一种用于存储和管理应用程序的文本的机制。它允许开发人员将应用程序的所有文本(如标签、按钮、菜单项等)存储在单独的资源文件,而不是直接在代码硬编码。这样做的好处是使应用程序易于本地化,即使在运行时更改语言设置,也可以动态加载正确的文本。 在Delphi 10.3,可以使用RES文件来存储和管理RC字符串。使用资源编辑器可以方便地将应用程序的文本添加到RES文件。可以为每种语言创建不同的RES文件,以便为不同的目标语言提供正确的文本。 在应用程序的代码,可以使用特殊的函数或指令来加载和显示RC字符串如,可以使用LoadResString函数来加载特定ID的RC字符串,并将其分配给相关的控件。这使开发人员能够根据用户的语言设置动态加载正确的文本。 Delphi 10.3还提供了一些工具和资源管理器,帮助开发人员管理和本地化RC字符串如,可以使用资源导入器来导入和导出RC字符串,以便翻译和本地化应用程序的文本。此外,还有一些第三方库和工具可以帮助开发人员更容易地管理和实现多语言支持。 总之,Delphi 10.3通过使用RC字符串和相关的工具来提供多语言支持。这使得开发人员能够轻松地本地化应用程序,并根据用户的语言设置加载适当的文本。这是一个重要的特性,使得应用程序更加友好和适应不同语言环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值